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
相關文章
- ASP.NET中Repeater控制元件實現分頁功能ASP.NET控制元件
- 使用PagedDataSource類實現DataList和Repeater控制元件的分頁顯示 (轉)控制元件
- aspnetpager+repeater+oracle實現分頁功能Oracle
- 在repeater、datalist控制元件中使用分頁功能 (轉)控制元件
- Repeater 的分頁 (摘自網路)
- 簡單的Repeater分頁程式碼
- Repeater控制元件實現編輯、更新、刪除操作控制元件
- 分頁的實現
- 分頁功能的實現
- asp.net mvc簡單實現基於Razor的分頁控制元件ASP.NETMVC控制元件
- Hibernate 的分頁實現
- MyBatis實現分頁的方式MyBatis
- 母版頁裡面查詢Repeater內控制元件,並構造URL控制元件
- elementUI實現分頁UI
- C#控制元件之Repeater控制元件使用C#控制元件
- C# 利用repeater 的巢狀 實現一個自己想要的 日曆頁面C#巢狀
- 滑動視窗式分頁的實現
- jsp分頁功能的實現JS
- DataGridView分頁功能的實現View
- [SQL Server]分頁功能的實現SQLServer
- Java Web 分頁實現JavaWeb
- Mybatis分頁實現流程MyBatis
- AspNetPager分頁控制元件的使用控制元件
- 自定義分頁控制元件控制元件
- 動態綁資料(Repeater控制元件控制元件
- iOS 類知乎”分頁”效果的實現?iOS
- MYSQL SQLServer分頁查詢的實現MySqlServer
- Java Web(十一) 分頁功能的實現JavaWeb
- 個性化的分頁實現 (轉)
- 使用 jQuery 實現分頁功能jQuery
- web 實現分頁列印功能Web
- PHP 使用 Redis 實現分頁PHPRedis
- indexdb實現分頁查詢Index
- 使用LayUI實現AJAX分頁UI
- 47.DRF實現分頁
- Django 前端BootCSS 實現分頁Django前端bootCSS
- Oralce 分頁 三種實現
- gridview中實現分頁View