主頁 > 知識庫 > asp.net Repeater分頁實(shí)例(PageDataSource的使用)

asp.net Repeater分頁實(shí)例(PageDataSource的使用)

熱門標(biāo)簽:內(nèi)蒙古智能電銷機(jī)器人哪家強(qiáng) 杭州智能電話機(jī)器人 泰州手機(jī)外呼系統(tǒng)軟件 山東防封電銷卡辦理套餐 百度地圖標(biāo)注點(diǎn)擊事件 怎樣在地圖標(biāo)注消火栓圖形 濟(jì)源人工智能電話機(jī)器人價(jià)格 廈門四川外呼系統(tǒng) 地圖標(biāo)注位置多的錢
Asp.net提供了三個(gè)功能強(qiáng)大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分頁功能。相對DataGrid,DataList和Repeater控件具有更高的樣式自定義性,所以很多時(shí)候我們喜歡使用DataList或Repeater控件來顯示數(shù)據(jù)。

實(shí)現(xiàn)DataList或Repeater控件的分頁顯示有幾種方法:
1、寫一個(gè)方法或存儲過程,根據(jù)傳入的頁數(shù)返回需要顯示的數(shù)據(jù)表(DataTable)
2、使用PagedDataSource類(位于System.Web.UI.WebControls命名空間里)

本篇文章主要說怎么使用PagedDataSource類實(shí)現(xiàn)DataList和Repeater控件的分頁顯示。DataGrid控件內(nèi)部也使用了PagedDataSource類,PagedDataSource 類封裝 DataGrid 控件的屬性,這些屬性使 DataGrid 可以執(zhí)行分頁。

PagedDataSource 類的部分公共屬性:
AllowCustomPaging 獲取或設(shè)置指示是否啟用自定義分頁的值。
AllowPaging 獲取或設(shè)置指示是否啟用分頁的值。
Count 獲取要從數(shù)據(jù)源使用的項(xiàng)數(shù)。
CurrentPageIndex 獲取或設(shè)置當(dāng)前頁的索引。
DataSource 獲取或設(shè)置數(shù)據(jù)源。
DataSourceCount 獲取數(shù)據(jù)源中的項(xiàng)數(shù)。
FirstIndexInPage 獲取頁中的第一個(gè)索引。
IsCustomPagingEnabled 獲取一個(gè)值,該值指示是否啟用自定義分頁。
IsFirstPage 獲取一個(gè)值,該值指示當(dāng)前頁是否是首頁。
IsLastPage 獲取一個(gè)值,該值指示當(dāng)前頁是否是最后一頁。
IsPagingEnabled 獲取一個(gè)值,該值指示是否啟用分頁。
IsReadOnly 獲取一個(gè)值,該值指示數(shù)據(jù)源是否是只讀的。
IsSynchronized 獲取一個(gè)值,該值指示是否同步對數(shù)據(jù)源的訪問(線程安全)。
PageCount 獲取顯示數(shù)據(jù)源中的所有項(xiàng)所需要的總頁數(shù)。
PageSize 獲取或設(shè)置要在單頁上顯示的項(xiàng)數(shù)。
VirtualCount 獲取或設(shè)置在使用自定義分頁時(shí)數(shù)據(jù)源中的實(shí)際項(xiàng)數(shù)。

這些屬性是否和DataGrid的屬性很相似?沒錯(cuò),DataGrid控件就是使用PagedDataSource類來實(shí)現(xiàn)數(shù)據(jù)分頁顯示的 。

下面舉個(gè)使用PagedDataSource類實(shí)現(xiàn)DataList和Repeater控件的分頁顯示的例子:
復(fù)制代碼 代碼如下:

public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb");
OleDbDataAdapter objCommand=new OleDbDataAdapter("select * from Users",objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);

//對PagedDataSource 對象的相關(guān)屬性賦值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;

//當(dāng)前頁面從Page查詢參數(shù)獲取
if (Request.QueryString["Page"] != null)
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage=1;

objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = "Page: " + CurPage.ToString();

if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+ onvert.ToString(CurPage-1);

if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage+1);

//把PagedDataSource 對象賦給Repeater控件
Repeater1.DataSource=objPds;
Repeater1.DataBind();
}

這樣可以簡單實(shí)現(xiàn)Repeater分頁功能,但有個(gè)缺點(diǎn)就是每次把所有的數(shù)據(jù)查詢出來,如果數(shù)據(jù)量大的話,這樣效率就會比較低。此時(shí)用存儲過程實(shí)現(xiàn)較好!
您可能感興趣的文章:
  • 在ASP.NET 2.0中操作數(shù)據(jù)之四十一:DataList和Repeater數(shù)據(jù)分頁
  • .NET實(shí)現(xiàn)Repeater控件+AspNetPager控件分頁
  • asp.net中使用repeater和PageDataSource搭配實(shí)現(xiàn)分頁代碼
  • asp.net中讓Repeater和GridView支持DataPager分頁
  • asp.net下Repeater使用 AspNetPager分頁控件
  • asp.net Repeater之非常好的數(shù)據(jù)分頁
  • asp.net repeater手寫分頁實(shí)例代碼
  • ASP.NET程序中用Repeater實(shí)現(xiàn)分頁
  • .NET中的repeater簡介及分頁效果

標(biāo)簽:朔州 周口 新鄉(xiāng) 臺州 朝陽 百色 洛陽 喀什

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net Repeater分頁實(shí)例(PageDataSource的使用)》,本文關(guān)鍵詞  asp.net,Repeater,分頁,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net Repeater分頁實(shí)例(PageDataSource的使用)》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net Repeater分頁實(shí)例(PageDataSource的使用)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章