GridView控件實現分頁技術
第一步:設置GridView控件的屬性,跟分頁相關的屬性設置如下:
AllowPaging="true":允許分頁, PageSize="大小":每一頁顯示的信息條數,
OnPageIndexChanging="GridView1_PageIndexChanging":頁數改變時觸發的事件。
第二步:設置GridView控件的PagerTemplate頁模板屬性。PageTemplate是用來獲取或設置 GridView 控件中頁導航行的自定義內容。代碼實現如下:

1 <PagerTemplate> 2 3 <table width="100%"> 4 5 <tr> 6 7 <td style="text-align: center"> 8 9 10 11 第<asp:Label ID="lblPageIndex" runat="server"12 13 Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>" ></asp:Label>頁14 15 16 17 共<asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label>頁18 19 20 21 <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First"22 CommandName="Page" Text="首頁"></asp:LinkButton>23 24 25 26 <asp:LinkButton ID="btnView Code((GridView)Container.Parent.Parent).PageIndex + 1獲取當前控件顯示的頁面數;((GridView)Container.Parent.Parent).PageCount獲取當前控件總的頁面數;CausesValidation設置按鈕提交時不執行驗證;CommandArgument設置與關聯的 CommandName 屬性一起傳遞到 Command 事件處理程序的可選參數;CommandName設置命令名,該命令名與傳遞給Command事件的Button控件相關聯。
第三步:后臺GridView1_PageIndexChanging事件的實現,代碼如下:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { //通過類型轉換得到當前的gridview控件 GridView gvw = (GridView)sender; if (e.NewPageIndex < 0) { TextBox PageNum = (TextBox)GridView1.BottomPagerRow.FindControl("txtNewPageIndex"); int Pa = int.Parse(PageNum.Text); if (Pa <= 0)//如果前往分頁的index小于或等于0則轉向0 { gvw.PageIndex = 0; } else { gvw.PageIndex = Pa - 1; } } else { gvw.PageIndex = e.NewPageIndex; } bind();//自定義的GridView控件綁定數據函數 }*小弟個人拙見,各位仁兄有更好的方法請多多指教。
新聞熱點
疑難解答