分頁解決方案 之 QuickPager的使用方法(在UserControl裡面使用分頁控制元件的方法)
阿新 • • 發佈:2022-04-28
因為我一直沒有在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 } }