适用範圍:網站背景管理、OA、CRM、CMS等,從關系型資料庫裡提取資料,願意使用Pager_SQL、DataAccessLibrary的情況。
最佳資料庫:MS SQL。
優點:隻需要設定幾個屬性即可,不用編寫“分頁事件”的處理代碼。可以很友善的實作查詢功能,以及儲存查詢條件。
使用方法:
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>");
在自動綁定控件之後觸發,#region 在自動綁定控件之後觸發,
protected void Pager1_GridBinded(object sender, JYK.Controls.Pager.PageArgs e)
//在自動綁定控件之後觸發
//計算時間
Response.Write("綁定後,使用的SQL語句:");
Response.Write(Pager1.PagerSQL.GetSQLByPageIndex(Pager1.PageIndex)); //測試用
處理查詢資料的情況#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();
添加後重新顯示資料#region 添加後重新顯示資料
protected void Btn_Add_Click(object sender, EventArgs e)
//添加新的資料後,顯示第一頁的資料
修改資料後重新顯示目前頁的資料#region 修改資料後重新顯示目前頁的資料
protected void Btn_Mod_Click(object sender, EventArgs e)
//比如在第三頁修改了一條資料,修改完畢後,重新顯示第三頁的資料。
this.Pager1.BindThisPage();
protected void Btn_Del_Click(object sender, EventArgs e)
//比如在第三頁删除了一條資料後,重新顯示第三頁的資料。
//和修改資料後重新顯示的差別在于,删除資料後需要重新統計總記錄數,和總頁數
this.Pager1.BindThisPageForDelete();
}
}