前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分页解决方案 之 QuickPager的使用方法(PostBack分页、自动获取数据)

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

作者头像
用户1174620
发布2018-02-26 12:11:35
5070
发布2018-02-26 12:11:35
举报

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

      最佳数据库:MS SQL。

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

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

      使用方法:

代码语言:javascript
复制
using JYK.Data;
using JYK.Controls;
using JYK.Controls.Pager;

namespace JYK.Manage.Help.QuickPager
{
    /**//// <summary>
    /// PostBack分页方式、自定义提取数据的使用方法 
    /// </summary>
    public partial class postback01 : System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            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)
        {
            if (!Page.IsPostBack)
            {
                SetPagerInfo();         //设置表名、字段名等
            }

        }

        给QuickPager_SQL 设置属性,以便拼接SQL#region 给QuickPager_SQL 设置属性,以便拼接SQL
        private void SetPagerInfo()
        {
            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

        在拼接SQL和提取数据、自动绑定控件之前触发,#region 在拼接SQL和提取数据、自动绑定控件之前触发,
        protected void Pager1_PageChanged(object sender, JYK.Controls.Pager.PageArgs e)
        {
            //在拼接SQL和提取数据、自动绑定控件之前触发,
            Response.Write("绑定前<BR>");
        }
        #endregion

        在自动绑定控件之后触发,#region 在自动绑定控件之后触发,
        protected void Pager1_GridBinded(object sender, JYK.Controls.Pager.PageArgs e)
        {
            //在自动绑定控件之后触发
            //计算时间
            Response.Write("绑定后,使用的SQL语句:");
            Response.Write(Pager1.PagerSQL.GetSQLByPageIndex(Pager1.PageIndex));               //测试用
        }
        #endregion

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

            tmp = this.Txt_Title.TextTrimNone;
            if (tmp.Length > 0)
            {
                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

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

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

        添加后重新显示数据#region 添加后重新显示数据
        protected void Btn_Del_Click(object sender, EventArgs e)
        {
            //比如在第三页删除了一条数据后,重新显示第三页的数据。
            //和修改数据后重新显示的区别在于,删除数据后需要重新统计总记录数,和总页数
            this.Pager1.BindThisPageForDelete();
        }
        #endregion
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-05-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档