Repeater控制元件的分頁實現
本文講解Repeater控制元件與PagedDataSource相結合實現其分頁功能。PagedDataSource 類封裝那些允許資料來源控制元件(如 DataGrid、GridView)執行分頁操作的屬性。如果控制元件開發人員需對自定義資料繫結控制元件提供分頁支援,即可使用此類。
PagedDataSource 類的部分公共屬性:
AllowCustomPaging // 獲取或設定指示是否啟用自定義分頁的值。 AllowPaging // 獲取或設定指示是否啟用分頁的值。 Count // 獲取要從資料來源使用的項數。 CurrentPageIndex // 獲取或設定當前頁的索引。 DataSource // 獲取或設定資料來源。 DataSourceCount // 獲取資料來源中的項數。 FirstIndexInPage // 獲取頁中的第一個索引。 IsCustomPagingEnabled // 獲取一個值,該值指示是否啟用自定義分頁。 IsFirstPage // 獲取一個值,該值指示當前頁是否是首頁。 IsLastPage // 獲取一個值,該值指示當前頁是否是最後一頁。 IsPagingEnabled // 獲取一個值,該值指示是否啟用分頁。 IsReadOnly // 獲取一個值,該值指示資料來源是否是隻讀的。 IsSynchronized // 獲取一個值,該值指示是否同步對資料來源的訪問(執行緒安全)。 PageCount // 獲取顯示資料來源中的所有項所需要的總頁數。 PageSize // 獲取或設定要在單頁上顯示的項數。 VirtualCount // 獲取或設定在使用自定義分頁時資料來源中的實際項數。
下面是PagedDataSource類實現Repeater控制元件的分頁顯示例子,如圖:
本例使用vs.net 2008(C#)編寫。後臺.CS程式碼。來自 admin10000.com
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int pageIndex = 1; try { pageIndex = Convert.ToInt32(Request.QueryString["Page"]); if (pageIndex <= 0) pageIndex = 1; } catch { pageIndex = 1; } DataTable dt = GetDocumentTable(); PagedDataSource pds = new PagedDataSource(); pds.DataSource = dt.DefaultView; // 設定資料來源 pds.AllowPaging = true; // 設定指示是否啟用分頁的值 pds.PageSize = 5; // 設定要在每頁顯示的數量 pds.CurrentPageIndex = pageIndex - 1; // 設定當前頁的索引。 rptDocumentList.DataSource = pds; rptDocumentList.DataBind(); ltlPageBar.Text = GetPageBar(pds); } } // 分頁條 private string GetPageBar(PagedDataSource pds) { string pageBar = string.Empty; int currentPageIndex = pds.CurrentPageIndex + 1; if (currentPageIndex == 1) { pageBar += "<a href=\"javascript:void(0)\">首頁</a>"; } else { pageBar += "<a href=\"" + Request.CurrentExecutionFilePath + "?Page=1\">首頁</a>"; } if ((currentPageIndex - 1) < 1) { pageBar += "<a href=\"javascript:void(0)\">上一頁</a>"; } else { pageBar += "<a href=\"" + Request.CurrentExecutionFilePath + "?Page=" + (currentPageIndex - 1) + "\">上一頁</a>"; } if ((currentPageIndex + 1) > pds.PageCount) { pageBar += "<a href=\"javascript:void(0)\">下一頁</a>"; } else { pageBar += "<a href=\"" + Request.CurrentExecutionFilePath + "?Page=" + (currentPageIndex + 1) + "\">下一頁</a>"; } if (currentPageIndex == pds.PageCount) { pageBar += "<a href=\"javascript:void(0)\">末頁</a>"; } else { pageBar += "<a href=\"" + Request.CurrentExecutionFilePath + "?Page=" + pds.PageCount + "\">末頁</a>"; } return pageBar; } // 建立測試表 DataTable GetDocumentTable() { DataTable dt = new DataTable(); dt.Columns.Add("DocumentId", typeof(int)); dt.Columns.Add("Title", typeof(string)); for (int i = 1; i <= 30; i++) { DataRow row = dt.NewRow(); row["DocumentId"] = i; row["Title"] = "文件標題 " + i + ""; dt.Rows.Add(row); } return dt; }
前臺.aspx程式碼
<form id="form1" runat="server"> <div> <asp:Repeater ID="rptDocumentList" runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <%# DataBinder.Eval(Container.DataItem, "Title")%></li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> </div> <div class="pageBar"> <asp:Literal ID="ltlPageBar" runat="server"></asp:Literal> </div> </form>
下載程式碼示例: PageDemo.RAR
相關文件:Repeater控制元件實現編輯、更新、刪除操作 Repeater多行間隔顯示分隔符的方法 Repeater中巢狀使用Repeater
相關文章
- C#控制元件之Repeater控制元件使用C#控制元件
- 分頁功能的實現
- 動態綁資料(Repeater控制元件控制元件
- MyBatis實現分頁的方式MyBatis
- elementUI實現分頁UI
- ASP.NET Web Forms – Repeater 控制元件簡介ASP.NETWebORM控制元件
- web 實現分頁列印功能Web
- Java實現後端分頁Java後端
- 使用 jQuery 實現分頁功能jQuery
- PHP 使用 Redis 實現分頁PHPRedis
- 47.DRF實現分頁
- indexdb實現分頁查詢Index
- 使用LayUI實現AJAX分頁UI
- Django 前端BootCSS 實現分頁Django前端bootCSS
- Flutter 分頁功能表格控制元件Flutter控制元件
- iOS 類知乎”分頁”效果的實現?iOS
- 分頁實現前臺後臺不同效果,分頁類引入
- 分頁實現前五後五ajax區域性重新整理方式分頁實現
- uni-app之實現分頁APP
- SpringBoot 整合Mybatis + PageHelper 實現分頁Spring BootMyBatis
- 用AutoLayout實現分頁滾動
- 文章內容分頁功能實現
- Python | 實現pdf檔案分頁Python
- SpringMVC+Spring Data JPA +Bootstrap 分頁實現和模糊查詢分頁SpringMVCboot
- 【MyBatis框架】MyBatis實現物理分頁和邏輯(記憶體)分頁MyBatis框架記憶體
- vue+Element-ui實現分頁效果VueUI
- SSM框架實現分頁查詢例子SSM框架
- django 網站實現簡單分頁Django網站
- Mybatis 分頁:Pagehelper + 攔截器實現MyBatis
- 教你如何使用MvcPager實現分頁效果MVC
- c# winform 實現分頁查詢C#ORM
- django實現分頁的模組(匯入即可用)Django
- 比Django官方實現更好的分頁元件+Bootstrap整合Django元件boot
- 如何優雅地實現分頁查詢
- kPagination-純js實現分頁外掛JS
- DjangoRestFramework 實現分頁功能與搜尋功能DjangoRESTFramework
- python實現資料分頁小練習Python
- jQuery入門(六)jQuery實現瀑布分頁jQuery
- 如何實現一個mybaits 分頁外掛AI