主頁 > 知識庫 > Repeater控件與PagedDataSource結合實現(xiàn)分頁功能

Repeater控件與PagedDataSource結合實現(xiàn)分頁功能

熱門標簽:百度AI接口 電商新玩法 國美全國運營中心 人工智能 網站排名優(yōu)化 科大訊飛語音識別系統(tǒng) 電銷業(yè)務 客戶服務

本文講解Repeater控件與PagedDataSource相結合實現(xiàn)其分頁功能。PagedDataSource 類封裝那些允許數(shù)據源控件(如 DataGrid、GridView)執(zhí)行分頁操作的屬性。如果控件開發(fā)人員需對自定義數(shù)據綁定控件提供分頁支持,即可使用此類。

PagedDataSource 類的部分公共屬性:

AllowCustomPaging // 獲取或設置指示是否啟用自定義分頁的值。 AllowPaging // 獲取或設置指示是否啟用分頁的值。 Count // 獲取要從數(shù)據源使用的項數(shù)。 CurrentPageIndex // 獲取或設置當前頁的索引。 DataSource // 獲取或設置數(shù)據源。 DataSourceCount // 獲取數(shù)據源中的項數(shù)。 FirstIndexInPage // 獲取頁中的第一個索引。 IsCustomPagingEnabled // 獲取一個值,該值指示是否啟用自定義分頁。 IsFirstPage // 獲取一個值,該值指示當前頁是否是首頁。 IsLastPage // 獲取一個值,該值指示當前頁是否是最后一頁。 IsPagingEnabled // 獲取一個值,該值指示是否啟用分頁。 IsReadOnly // 獲取一個值,該值指示數(shù)據源是否是只讀的。 IsSynchronized // 獲取一個值,該值指示是否同步對數(shù)據源的訪問(線程安全)。 PageCount // 獲取顯示數(shù)據源中的所有項所需要的總頁數(shù)。 PageSize // 獲取或設置要在單頁上顯示的項數(shù)。 VirtualCount // 獲取或設置在使用自定義分頁時數(shù)據源中的實際項數(shù)。
下面是PagedDataSource類實現(xiàn)Repeater控件的分頁顯示例子,如圖:

復制代碼 代碼如下:

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; // 設置數(shù)據源
pds.AllowPaging = true; // 設置指示是否啟用分頁的值
pds.PageSize = 5; // 設置要在每頁顯示的數(shù)量
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 += "首頁";
}
else
{
pageBar += " + Request.CurrentExecutionFilePath + "?Page=1">首頁";
}
if ((currentPageIndex - 1) 1)
{
pageBar += "上一頁";
}
else
{
pageBar += " + Request.CurrentExecutionFilePath + "?Page=" + (currentPageIndex - 1) + "">上一頁";
}
if ((currentPageIndex + 1) > pds.PageCount)
{
pageBar += "下一頁";
}
else
{
pageBar += " + Request.CurrentExecutionFilePath + "?Page=" + (currentPageIndex + 1) + "">下一頁";
}
if (currentPageIndex == pds.PageCount)
{
pageBar += "末頁";
}
else
{
pageBar += " + Request.CurrentExecutionFilePath + "?Page=" + pds.PageCount + "">末頁";
}
return pageBar;
}
// 創(chuàng)建測試表
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;
}

您可能感興趣的文章:
  • asp.net使用Repeater控件中的全選進行批量操作實例
  • ASP.NET中repeater控件用法實例
  • 在Repeater控件中通過Eval的方式綁定Style樣式代碼
  • Repeater控件實現(xiàn)編輯、更新、刪除等操作示例代碼
  • 給Repeater控件里添加序號的5種才常見方法介紹
  • Repeater控件綁定的三種方式
  • Repeater控件動態(tài)變更列(Header,Item和Foot)信息實現(xiàn)思路
  • 如何取得Repeater控件選擇的項目及注意事項
  • Repeater控件分別綁定數(shù)組和ArrayList實現(xiàn)思路
  • Repeater控件數(shù)據導出Excel(附演示動畫)
  • 淺析Repeater控件的使用 (原樣導出和動態(tài)顯示/隱藏Repeater中的列)

標簽:POS機 攀枝花 棗莊 益陽 南平 咸寧 拉薩 廈門

巨人網絡通訊聲明:本文標題《Repeater控件與PagedDataSource結合實現(xiàn)分頁功能》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266