必須使用 .NET 4.5 (VS 2012起)才有此功能。
GridView自訂分頁,使用AllowCustomPaging屬性
自己寫分頁程式(搭配SQL指令,從資料來源進行分頁)
http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/18/gridview_allowcustompaging_virtualitemcount.aspx
GridView自訂分頁,使用AllowCustomPaging屬性
自己寫分頁程式(搭配SQL指令,從資料來源進行分頁)
必須使用 .NET 4.5 (VS 2012起)才有此功能。
HTML畫面設計:
首先,您要自己加上GridView分頁的樣板,如下面粗體字部分
底下,黃色的 AllowCustomPaging與 AllowPaging兩個屬性都要打開!
<asp:GridView ID="GridView1" runat="server"
AllowCustomPaging="True" AllowPaging="True" PageSize="5"
OnPageIndexChanging="GridView1_PageIndexChanging">
<PagerSettings Mode="Numeric" />
</asp:GridView>
後置程式碼:
這部分都很簡單,只是簡單的ADO.NET與 DataBinding罷了
像是這樣的範例,只能搭配我的書本「上集」
大概是我上課「第三天」就會講到的內容。
比較特別的是:
我從資料來源(DB)就做好分頁,可以使用--
SQL 2005的 ROW_NUMBER
或是SQL 2012的 OFFSET...FETCH
兩種作法都不錯
想要看程式碼的朋友,可以移駕到 ---
http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/18/gridview_allowcustompaging_virtualitemcount.aspx
01
protected void Page_Load(object sender, EventArgs e)
02
{
03
if (!IsPostBack)
04
{
05
GridView1.VirtualItemCount = MIS2000Lab_GetPageCount(); // 取得總記錄的數量。
06
07
GridView1.DataSource = MIS2000Lab_GetPageData(0, 10);
08
GridView1.DataBind();
09
}
10
}
11
12
13
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
14
{
15
GridView1.PageIndex = e.NewPageIndex;
16
17
GridView1.DataSource = MIS2000Lab_GetPageData(e.NewPageIndex, 10);
18
GridView1.DataBind();
19
}
想要看程式碼的朋友,可以移駕到 ---
http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/18/gridview_allowcustompaging_virtualitemcount.aspx
相關文章,請參閱:
[ADO.NET] Web Form為求快速,可使用 DataReader直接處理資料來源
http://www.dotblogs.com.tw/mis2000lab/archive/2012/01/13/dataset_datareader_20120113.aspx
[習題]上集 Ch 14-4 撰寫ADO.NET DataReader的分頁程式#1(搭配SQL 2005指令 ROW_NUMBER)
http://www.dotblogs.com.tw/mis2000lab/archive/2010/11/30/datareader_paging_row_number.aspx
[習題]上集 Ch 14-4 撰寫ADO.NET DataReader的分頁程式#2(搭配SQL 2012指令 OFFSET...FETCH)
http://www.dotblogs.com.tw/mis2000lab/archive/2014/07/17/page_sql2012_fetch_offset_20140717.aspx
GridViewWithPager(SQL預存程序分頁)
舊版的 .NET 應該也可以用吧? ASP.NET 2.0 以上適用
很有幫助,感謝分享 :-)