自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET的DataList和Repeater控件

開發(fā) 后端
本文介紹ASP.NET的DataList和Repeater控件,DataList和Repeater控件具有更高的樣式自定義性,所以很多時候我們喜歡使用DataList和Repeater控件來顯示數(shù)據(jù)。

ASP.NET提供了三個功能強(qiáng)大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分頁功能。相對DataGrid,DataList和Repeater控件具有更高的樣式自定義性,所以很多時候我們喜歡使用DataList和Repeater控件來顯示數(shù)據(jù)。

ASP.NET實(shí)現(xiàn)DataList和Repeater控件的分頁顯示有幾種方法:
1、寫一個方法或存儲過程,根據(jù)傳入的頁數(shù)返回需要顯示的數(shù)據(jù)表(DataTable)
2、使用PagedDataSource類

本篇文章主要說怎么使用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 獲取頁中的第一個索引。
IsCustomPagingEnabled 獲取一個值,該值指示是否啟用自定義分頁。
IsFirstPage 獲取一個值,該值指示當(dāng)前頁是否是首頁。
IsLastPage 獲取一個值,該值指示當(dāng)前頁是否是最后一頁。
IsPagingEnabled 獲取一個值,該值指示是否啟用分頁。
IsReadOnly 獲取一個值,該值指示數(shù)據(jù)源是否是只讀的。
IsSynchronized 獲取一個值,該值指示是否同步對數(shù)據(jù)源的訪問(線程安全)。
PageCount 獲取顯示數(shù)據(jù)源中的所有項(xiàng)所需要的總頁數(shù)。
PageSize 獲取或設(shè)置要在單頁上顯示的項(xiàng)數(shù)。
VirtualCount 獲取或設(shè)置在使用自定義分頁時數(shù)據(jù)源中的實(shí)際項(xiàng)數(shù)。

這些屬性是否和DataGrid的屬性很相似?沒錯,DataGrid控件就是使用PagedDataSource類來實(shí)現(xiàn)數(shù)據(jù)分頁顯示的 。下面舉個ASP.NET使用PagedDataSource類實(shí)現(xiàn)DataList和Repeater控件的分頁顯示的例子:

  1. public void Page_Load(Object src,EventArgs e)  
  2. {  
  3. OleDbConnection objConn=new OleDbConnection(@"Provider=Microsoft.
    Jet.OLEDB.4.0; Data 
    Source=c:\test.mdb");  
  4. OleDbDataAdapter objCommand=new OleDbDataAdapter
    ("select * from Users",objConn);  
  5. DataSet ds=new DataSet();  
  6. objCommand.Fill(ds);  
  7. //對PagedDataSource 對象的相關(guān)屬性賦值  
  8.  PagedDataSource objPds = new PagedDataSource();  
  9. objPds.DataSource = ds.Tables[0].DefaultView;  
  10. objPds.AllowPaging = true;  
  11. objPds.PageSize = 5;  
  12. int CurPage;  
  13. //當(dāng)前頁面從Page查詢參數(shù)獲取  
  14.  if (Request.QueryString["Page"] != null)  
  15. CurPage=Convert.ToInt32(Request.QueryString["Page"]);  
  16. else  
  17. CurPage=1;  
  18. objPds.CurrentPageIndex = CurPage-1;  
  19. lblCurrentPage.Text = "Page: " + CurPage.ToString();  
  20. if (!objPds.IsFirstPage)  
  21. lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + "?
    Page=" + Convert.ToString(CurPage-1);  
  22. if (!objPds.IsLastPage)  
  23. lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?
    Page=" + Convert.ToString(CurPage+1);  
  24. //把PagedDataSource 對象賦給Repeater控件  
  25.  Repeater1.DataSource=objPds;  
  26. Repeater1.DataBind();  

【編輯推薦】

  1. ASP.NET調(diào)用WCF服務(wù)
  2. 淺析ASP.NET驗(yàn)證控件
  3. ASP.NET中WCF服務(wù)與ASMX服務(wù)的兼容性
  4. 詳解ASP.NET應(yīng)用程序
  5. ASP.NET的HttpModule
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-08-03 17:56:25

ASP.NET 數(shù)據(jù)控

2009-08-25 15:18:58

ASP.NET數(shù)據(jù)We

2009-07-27 13:52:36

Panel控件ASP.NET

2009-08-25 16:11:12

Repeater控件

2009-07-30 12:42:19

html控件和web控

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-08-04 11:29:14

HTML代碼ASP.NET控件

2009-07-24 15:35:00

ASP.NET Gri

2009-08-04 10:43:59

ASP.NET控件開發(fā)

2009-08-19 13:44:00

ASP.NET Lis

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-17 09:24:25

ASP.NET控件

2009-07-27 16:19:59

ASP.NET報(bào)表控件

2009-08-03 15:08:00

SqlDataSour

2009-07-27 17:25:53

ASP.NET驗(yàn)證控件

2009-08-03 18:15:05

ASP.NET數(shù)據(jù)綁定

2009-07-21 15:27:12

ASP.NET 2.0

2009-07-24 09:57:25

ASP.NET HTM
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號