1/1页1 跳转到查看:3321
发新话题 回复该主题

Winson.SqlPager 2.5 发布!(05/14更新)

Winson.SqlPager 2.5 发布!(05/14更新)

Winson.SqlPager 分页控件
版本: 2.5
此控件必须与Winson.Framework框架一起使用



安装方法:
只需将解压出来的 SqlPage.cs文件复盖了Winson.WControls\SqlPager\ 目录里的同名文件即可.

由于之前的控件存在着一些比较严重的BUG,这次对SqlPager做了比较大的改动,修复了一些BUG和改进了某些功能,此控件版本现更新为2.5版,主要改动如下:

修复BUG:
1.修复了不能显示最后一页数据
2.不能根据传入的查询条件去获取最新数据(此问题在旧版的非缓存状态同时是自定义数据源的情况下会出现)

改进:
1.现已去掉了缓存与非缓存的设置,直接默认全部使用了缓存,并且会自动判断查询条件有无更改,如果2次查询的条件不同,则会重新获取数据,否则一直读取缓存中的数据
2.既然使用数字分页模式,也不需要另外去设置ShowCount的值,系统已会自动判断,去掉多余的显示部分(之前必须设置ShowCount=2才可)
3.修复了在第一页时点上一页按钮仍然有效,但并没数据出来(05/14更新)

使用注意说明:

主要说明一点就是,如果要使用服务器端的下拉列表分页显示框,则必须将相关的控件初始化代码放到 IsPostBack 里,
请大家注意,我说的是控件的初始化代码,即获取与设置数据源和相关参数等代码,并不是最后的与页面控件绑定的代码,如下:

        if (!IsPostBack)
        {
           
//SqlPager1.SelectCommand = "select top 22 * from Employees";
           
//SqlPager1.SortField = "EmployeesID";
           
//可支持自定义数据源
            SqlPager1.UseCustomDataSource = true;
            SqlPager1.CustomDataSource
= DBOP.ExecuteDataset("select top 22 * from Employees order by  EmployeesID", "ds");
           
//使用存储过程获取数据源
           
//SqlPager1.CustomDataSource = DBOP.ExecuteProcedure("Emp_Select","ds");
            SqlPager1.DataBind();
        }


而至于最后的与页面控件绑定的代码,如下:

            //指定控件
            SqlPagerBase = SqlPager1;
            GridViewBase
= GridView1;


则必须放到 if (!IsPostBack) 之外,否则将会有问题哦:)

最后给出完整的代码:

   
protected void Page_Load(object sender, EventArgs e)
    {
       
if (!IsPostBack)
        {
           
//SqlPager1.SelectCommand = "select top 22 * from Employees";
           
//SqlPager1.SortField = "EmployeesID";
           
//可支持自定义数据源
            SqlPager1.UseCustomDataSource = true;
            SqlPager1.CustomDataSource
= DBOP.ExecuteDataset("select top 22 * from Employees order by  EmployeesID", "ds");
           
//使用存储过程获取数据源
           
//SqlPager1.CustomDataSource = DBOP.ExecuteProcedure("Emp_Select","ds");
            SqlPager1.DataBind();
        }
           
//指定控件
            SqlPagerBase = SqlPager1;
            GridViewBase
= GridView1; 
               
    }


以上方法不管是对服务器端方式还是AJAX方式均可用,所以建议大家都使用此方式

我已对所有的分页模式测试过了,应该没什么大的BUG了,呵呵


OK,基本上就是这些了,如果大家在使用中发现其他问题,欢迎到我们论坛发帖哦!


附件: SqlPager.rar (2008-5-14 20:19:13, 12.98 K)
该附件被下载次数 84

最后编辑winson 最后编辑于 2008-05-14 20:20:34

TOP

 

回复: Winson.SqlPager 2.5 发布!

补充一下,以上的代码在最后的页面控件指定中,由于我已将相关控件定义在一个 BasePage 类里了,所以在这里可以直接调用,详细看我的DEMO框架就知道了,至于顺序是不分的即你可以将最后2句代码写在最上面,如:


   
protected void Page_Load(object sender, EventArgs e)
    {
       
//指定控件
        SqlPagerBase = SqlPager1;
        GridViewBase
= GridView1; 

       
if (!IsPostBack)
        {
           
//SqlPager1.SelectCommand = "select top 22 * from Employees";
           
//SqlPager1.SortField = "EmployeesID";
           
//可支持自定义数据源
            SqlPager1.UseCustomDataSource = true;
            SqlPager1.CustomDataSource
= DBOP.ExecuteDataset("select top 12 * from Employees order by  EmployeesID", "ds");
           
//使用存储过程获取数据源
           
//SqlPager1.CustomDataSource = DBOP.ExecuteProcedure("Emp_Select","ds");
            SqlPager1.DataBind();
        }
         
               
    }

TOP

 

回复:Winson.SqlPager 2.5 发布!

谢谢了。太好了。先下。

TOP

 

回复:Winson.SqlPager 2.5 发布!(05/14更新)

好像还是和原来一样~~,是不是传错了??

TOP

 

回复: Winson.SqlPager 2.5 发布!(05/14更新)



引用:
原帖由 qazxswedc5 于 2008-5-14 20:41:00 发表
好像还是和原来一样~~,是不是传错了??



没错啊,这个已是更新了的版本,你有没重新编译一下?

TOP

 

回复:Winson.SqlPager 2.5 发布!(05/14更新)

我编译了。

TOP

 

回复:Winson.SqlPager 2.5 发布!(05/14更新)

是我错了。可以使用了。sorry~~

TOP

 

回复:Winson.SqlPager 2.5 发布!(05/14更新)

删除你的缓存或者更改一下查询条件试试?

TOP

 

回复 3F qazxswedc5 的帖子

support your labour

TOP

 

回复:Winson.SqlPager 2.5 发布!(05/14更新)

都是IsPostBack的吗?
不能实现list.aspx?p=2或者list_2.html这种分页,实在是可惜.

TOP

 
1/1页1 跳转到
发表新主题 回复该主题