开发者社区> 金色海洋> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

分页解决方案 之 QuickPager的使用方法(PostBack分页、自定义获取数据)

简介:         适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,或者XML等获取数据,不愿意使用Pager_SQL、DataAccessLibrary的情况。       优点:可以使用自己喜欢的方式获取数据,不仅仅限于关系型数据库,其他的也都可以。
+关注继续查看

 

 

      适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,或者XML等获取数据,不愿意使用Pager_SQL、DataAccessLibrary的情况。

      优点:可以使用自己喜欢的方式获取数据,不仅仅限于关系型数据库,其他的也都可以。

      缺点,要写的代码比较多。

      Demo下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html

      使用方法:

 

using JYK.Data;
using JYK.Controls;
using JYK.Controls.Pager;

namespace JYK.Manage.Help.QuickPager
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif
{
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif    
/**//// <summary>
    
/// PostBack分页方式、自动提取数据的使用方法 
    
/// </summary>

    public partial class PostBack02 : System.Web.UI.Page
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif    
{
        
//如果您不使用Pager_SQL和DataAccessLibrary的话,那么就不用下面两行代码了。
        QuickPagerSQL pagerSQL = new QuickPagerSQL();
        
//数据访问函数库的实例
        DataAccessLibrary dal = DALFactory.CreateDAL();

        
protected override void OnInit(EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
base.OnInit(e);
            
            
//设置显示数据的控件
            Pager1.ShowDataControl = this.GV;

            
//设置成自定义的方式获取
            Pager1.GetDataKind = PagerRunKind.Customer;

            pagerSQL.Page 
= this;
           
        }


        
protected void Page_Load(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
if (!Page.IsPostBack)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
{
                
//设置QuickPager_SQL的属性
                GetPagerSQL();

                
//设置分页方式
                pagerSQL.SetPagerSQLKind = PagerSQLKind.MaxMin;


                
//设置总记录数、总页数
                SetRecprdCount();

                
//获取第一页的记录
                string sql = pagerSQL.GetSQLByPageIndex(1);

                
//数据访问函数库的实例

                GV.DataSource 
= dal.ExecuteFillDataTable(sql);
                GV.DataBind();
            }


        }


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
设置QuickPager_SQL的属性#region 设置QuickPager_SQL的属性
        
private void GetPagerSQL()
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//设置QuickPager_SQL的属性
            pagerSQL.Page = this;

            pagerSQL.TableName 
= "News_NewsInfo";          //表名或者视图名称
            pagerSQL.TableShowColumns = "*";               //需要显示的字段
            pagerSQL.TableIDColumn = "NewsID";             //主键名称,不支持复合主键
            pagerSQL.TableOrderByColumns = "NewsID"//排序字段,根据分页算法而定,可以支持多个排序字段
            pagerSQL.TableQuery = "";                      //查询条件

            pagerSQL.PageSize 
= 4;                         //一页显示的记录数

            

        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
设置总记录数、总页数#region 设置总记录数、总页数
        
private void SetRecprdCount()
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            pagerSQL.CreateSQL();

            
//获取总记录数,可以用count(*)统计,也可以使用其他方法获得。
            string AllCount = dal.ExecuteString(pagerSQL.GetRecordCountSQL);
            
if (AllCount != null)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
{
                pagerSQL.RecordCount 
= int.Parse(AllCount);
            }


            pagerSQL.ComputePageCount();

            Pager1.RecordCount 
= pagerSQL.RecordCount;
            Pager1.PageCount 
= pagerSQL.PageCount;

        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
在拼接SQL和提取数据、自动绑定控件之前触发,#region 在拼接SQL和提取数据、自动绑定控件之前触发,
        
protected void Pager1_PageChanged(object sender, JYK.Controls.Pager.PageArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//您可以使用下面提供的方法获得数据,也可以使用其他的方法获得记录。
            
//e.CurrentPageIndex:想要翻到的页号。
             
            
string sql = pagerSQL.GetSQLByPageIndex(e.CurrentPageIndex );

            GV.DataSource 
= dal.ExecuteFillDataTable(sql);
            GV.DataBind();


            Response.Write(
"绑定前<BR>");
        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
在自动绑定控件之后触发,#region 在自动绑定控件之后触发,
        
protected void Pager1_GridBinded(object sender, JYK.Controls.Pager.PageArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//在自动绑定控件之后触发
            
//计算时间
            Response.Write("绑定后,使用的SQL语句:");
        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
处理查询数据的情况#region 处理查询数据的情况
        
protected void Btn_Search_Click(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//获取查询条件
            string query = "";
            
string tmp = "";

            tmp 
= this.Txt_Title.TextTrimNone;
            
if (tmp.Length > 0)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
{
                
if (query.Length == 0)
                    query 
= " title like '%" + tmp + "%'";
                
else
                    query 
+= " and title like '%" + tmp + "%'";

            }


            
//还可以添加其他的查询条件,这里省略

            
//给QuickPager_SQL 设置查询条件
            this.pagerSQL.TableQuery = query;
            
//重新拼接SQL语句
            this.pagerSQL.CreateSQL();
            
            
//绑定控件,显示第一页的数据
            string sql = pagerSQL.GetSQLByPageIndex(1);

            GV.DataSource 
= dal.ExecuteFillDataTable(sql);
            GV.DataBind();

            
//设置总记录数、总页数
            SetRecprdCount();

            
//修改分页控件的UI。
            Pager1.PageIndex = 1;
            Pager1.SetPagerUI();

        }

        
#endregion


    }

}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
10 0
Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
136 0
【SpringCloud】Ribbon如何自定义客户端配置和全局配置
【SpringCloud】Ribbon如何自定义客户端配置和全局配置起因事情的起因是这样的,公司内部要实现基于Zuul网关的灰度路由,在上线时进行灰度测试,故需要配置业务微服务向Eureka注册的metadata元数据,和自定义Ribbon的负载规则达到只访问灰度服务的目的。
5517 0
x3d
vTigerCRM 5.2正式版 安装时提示数据库连接参数错误的问题
和输入的服务器地址有关,平常本地测试都是在地址栏输入localhost或127.0.0.1,但今天直接以局域网ip形式输入的,结果vtigercrm安装程序在mysql的服务器地址字段也相应捕捉为ip地址,然后到下一步,就一直提示mysql connection parameter错误,Databa...
542 0
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——支持多种数据库。让分页更加简单。
分页控件的源代码下载网址:http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html (在网页的下面) 下载文件里面由一个测试网页:http://localhost:5561/test/Testlist.aspx?fid=1 请注意后面的参数。
899 0
【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件
分页控件正式命名为 QuickPager ASP.NET2.0分页控件 。 版本号:2.0.0.1 Framework:.net2.0 分页方式:PostBack 、URL (暂时没有实现URL的分页方式) webform  (b/s) 支持多种数据库,分页算法,提取数据的方式都可以替换。
1165 0
+关注
金色海洋
算法相关技术专家
323
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载