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

简介:       适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,愿意使用Pager_SQL、DataAccessLibrary的情况。       最佳数据库:MS SQL。

 

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

      最佳数据库:MS SQL。

      优点:只需要设置几个属性即可,不用编写“分页事件”的处理代码。可以很方便的实现查询功能,以及保存查询条件。

      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 postback01 : System.Web.UI.Page
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif    
{
        
protected override void OnInit(EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
base.OnInit(e);

            
//数据访问函数库的实例
            DataAccessLibrary dal = DALFactory.CreateDAL();
            Pager1.DAL 
= dal;

            
//定义QuickPager_SQL,设置Page属性
            Pager1.PagerSQL.Page = this;

            
//设置显示数据的控件
            Pager1.ShowDataControl = this.GV;


        }


        
protected void Page_Load(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
if (!Page.IsPostBack)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif            
{
                SetPagerInfo();         
//设置表名、字段名等
            }


        }


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
给QuickPager_SQL 设置属性,以便拼接SQL#region 给QuickPager_SQL 设置属性,以便拼接SQL
        
private void SetPagerInfo()
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            Pager1.PagerSQL.TableName 
= "News_NewsInfo";          //表名或者视图名称
            Pager1.PagerSQL.TableShowColumns = "*";               //需要显示的字段
            Pager1.PagerSQL.TableIDColumn = "NewsID";             //主键名称,不支持复合主键
            Pager1.PagerSQL.TableOrderByColumns = "NewsID"//排序字段,根据分页算法而定,可以支持多个排序字段
            Pager1.PagerSQL.TableQuery = "";                      //查询条件

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

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


        }

        
#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        
{
            
//在拼接SQL和提取数据、自动绑定控件之前触发,
            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语句:");
            Response.Write(Pager1.PagerSQL.GetSQLByPageIndex(Pager1.PageIndex));               
//测试用
        }

        
#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.Pager1.PagerSQL.TableQuery = query;
            
//重新拼接SQL语句
            this.Pager1.PagerSQL.CreateSQL();
            
//绑定控件,显示第一页的数据
            this.Pager1.BindFirstPage();

        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
添加后重新显示数据#region 添加后重新显示数据
        
protected void Btn_Add_Click(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//添加新的数据后,显示第一页的数据
            this.Pager1.BindFirstPage();
        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
修改数据后重新显示当前页的数据#region 修改数据后重新显示当前页的数据
        
protected void Btn_Mod_Click(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//比如在第三页修改了一条数据,修改完毕后,重新显示第三页的数据。
            this.Pager1.BindThisPage();
        }

        
#endregion


img_7a2b9a960ee9a98bfd25d306d55009f8.gifimg_2887d91d0594ef8793c1db92b8a1d545.gif        
添加后重新显示数据#region 添加后重新显示数据
        
protected void Btn_Del_Click(object sender, EventArgs e)
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif        
{
            
//比如在第三页删除了一条数据后,重新显示第三页的数据。
            
//和修改数据后重新显示的区别在于,删除数据后需要重新统计总记录数,和总页数
            this.Pager1.BindThisPageForDelete();
        }

        
#endregion

    }

}

 

 

 

相关文章
|
1月前
|
前端开发
bladex自定义分页
bladex自定义分页
21 0
|
SQL
分页解决方案 之 QuickPager的使用方法(PostBack分页、自定义获取数据)
        适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,或者XML等获取数据,不愿意使用Pager_SQL、DataAccessLibrary的情况。       优点:可以使用自己喜欢的方式获取数据,不仅仅限于关系型数据库,其他的也都可以。
830 0
|
SQL 算法
分页解决方案 之 QuickPager的使用方法(URL分页、自动获取数据)
      适用范围:网站前台页面 等,从关系型数据库里提取数据,愿意使用Pager_SQL、DataAccessLibrary的情况。       优点:使用URL的方式,对于SEO比较友好。
934 0
|
JavaScript 搜索推荐 前端开发
【自然框架】QuickPager分页控件,新增一种分页方式——伪URL分页(Postback版)
适用场景   先说一下伪URL分页的适用场景。在网站的网页里实现查询功能,如果查询条件比较少的话,还比较好办,把查询条件放到URL里面传递即可。但是如果查询条件过多,就会照成URL的长度过长。既不好看,编写起来也很麻烦。
1130 0
|
算法
分页解决方案 之 QuickPager的使用方法(在UserControl里面使用分页控件的方法)
        因为我一直没有在UserControl里面使用过QuickPager分页控件,我都是直接在.aspx里面使用,所以这个bug一直没有发现。后来告诉我他把分页控件放在了UserControl里面无法翻页的情况,检查之后才发现分页的事件没有传递到UserControl里面的分页控件里面,就是说分页控件没有得到分页事件。
903 0
|
前端开发 JavaScript 索引
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.7 增加了一个js函数的分页方式。
     昨天在csdn上看到一个人提出来了一种分页的需求,大致是分页控件只负责绘制总页数、上一页、下一页等信息,然后在用户翻页的时候可以触发一个js函数,然后自己实现这个js函数。并不需要提交表单,他想用ajax的方式来获取数据,但是又不想使用微软的ajax。
873 0
【自然框架】QuickPager分页控件的单独的源码 V2.0.4.2。
   QuickPager的源码分离出来之后由两个项目组成,一个是QuickPager、另一个是QuickPagerSQL。分页控件的演示也独立了出来。   如图1 。    QuickPager是分页控件的项目,负责UI的绘制,即上一页、下一页、页号导航等的绘制,还有事件的触发,控件绑定等功能。
861 0
|
算法
QuickPager分页控件,最简单的设置代码
代码 ///     /// postback 的最简单的分页设置    ///     public partial class PostSimpleness : BaseWebPage    {        #region 初始化        protected override void OnInit(EventArgs e)        {            base.OnInit(e);            //数据访问函数库的实例,使用基类里定义的。
822 0
|
算法 数据库 内存技术
【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
前言:分页控件的优点   1、 按需所取 —— 需要几条记录就从数据库里提取几条记录,不会多取。 2、 使用简单 —— 设置几个属性就可以实现分页的功能。 3、 多种分页算法 —— (即分页用的SQL语句)可以根据不同的需求灵活选择 4、 支持多种数据库 —— 用不同的分页算法对应不同的数据库。
1088 0