1. 程式人生 > 其它 >分頁解決方案 之 QuickPager的使用方法(在UserControl裡面使用分頁控制元件的方法)

分頁解決方案 之 QuickPager的使用方法(在UserControl裡面使用分頁控制元件的方法)

      因為我一直沒有在UserControl裡面使用過QuickPager分頁控制元件,我都是直接在.aspx裡面使用,所以這個bug一直沒有發現。後來告訴我他把分頁控制元件放在了UserControl裡面無法翻頁的情況,檢查之後才發現分頁的事件沒有傳遞到UserControl裡面的分頁控制元件裡面,就是說分頁控制元件沒有得到分頁事件。改了半天也沒有找到從正規的方式來解決,所以只好採用了一個笨辦法來解決。在UserControl裡面使用分頁控制元件的時候也稍稍有一點不同。

      一般的情況是這麼設定,

//定義QuickPager_SQL,設定Page屬性
Pager1.PagerSQL.Page = this.Page;

      在UserControl裡面需要在多設定一個屬性,其他的使用方法都是一樣的。

//定義QuickPager_SQL,設定Page屬性
Pager1.PagerSQL.Page = this.Page;
Pager1.UserControl = this;

      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.Test.UC
{
    /**//// <summary>
    /// 在UserControl裡面使用分頁控制元件的方法
    /// </summary>
    public partial class UC_QuickPager_Test : System.Web.UI.UserControl
    {
        
        protected override void OnInit(EventArgs e)
        {
           
            //資料訪問函式庫的例項
            DataAccessLibrary dal = DALFactory.CreateDAL();
            Pager1.DAL = dal;
            //定義QuickPager_SQL,設定Page屬性
            Pager1.PagerSQL.Page = this.Page;
            Pager1.UserControl = 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
    }
}