久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

使用PagedDataSource類實現DataList和Repeater控件的分頁顯示功...

 Mike Lee 2010-09-25
   Asp.net提供了三個功能強大的列表控件:DataGrid、DataList和Repeater控件,,相對DataGrid,,DataList和Repeater控件具有更高的樣式自定義性,很多時候我們喜歡使用DataList或Repeater控件來顯示數據,,但是Repeater和DataList沒有分頁功能,,有時很不方便。

    PagedDataSource類封裝了DataGrid控件的屬性,,從而使DataGrid控件可以執(zhí)行分頁,,它就是一個數據的容器,我們先把數據從數據庫中讀取出來放在這個容器中,,然后設置容器的屬性取出當前要顯示的頁上的部分數據,,然后將此部分數據再綁定到頁面上的顯示控件上。

    下面實例是Repeater控件和HyperLink控件結合PagedDataSource類實現的數據分頁列表

數據功能實現源代碼:

//對用于分頁的類的引用
PagedDataSource pds=new PagedDataSource();
pds.DataSource=dt.DefaultView;//設置數據源(DataTable類型)
pds.AllowPaging=true;
//第頁顯示的行數
pds.PageSize=18;

//設置當前頁
if(Pageindex<1) Pageindex=1;
pds.CurrentPageIndex=Pageindex-1;

rpt_NewsList.DataSource=pds;
rpt_NewsList.DataBind();

//顯示頁碼
ltl_RecordCount.Text = pds.DataSourceCount.ToString();
ltl_PageCount.Text = pds.PageCount.ToString();
ltl_Pageindex.Text = Pageindex.ToString();
ltl_Jump.Text = Jump_List (pds.PageCount , Pageindex , L_Manage);

//顯示上下翻頁(URL后面跟的參數自已跟據需要定義)
lbn_First.ToolTip = "跳轉到首頁";
lbn_First.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page=1";
lbn_Prev.ToolTip = "跳轉到上一頁";
lbn_Prev.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+(Pageindex-1);
lbn_Next.ToolTip = "跳轉到下一頁";
lbn_Next.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+(Pageindex+1);
lbn_Last.ToolTip = "跳轉到最后一頁";
lbn_Last.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+pds.PageCount.ToString();

//確定鏈接的顯示方式
if(Pageindex<=1 && pds.PageCount<=1)
{
    lbn_First.NavigateUrl = "";
    lbn_Prev.NavigateUrl = "";
    lbn_Next.NavigateUrl = "";
    lbn_Last.NavigateUrl = "";
}
if(Pageindex<=1 && pds.PageCount>1)
{
    lbn_First.NavigateUrl = "";
    lbn_Prev.NavigateUrl = "";
}
if(Pageindex >= pds.PageCount)
{
    lbn_Next.NavigateUrl = "";
    lbn_Last.NavigateUrl = "";
}

/// <summary>
/// 計算分頁跳轉
/// </summary>
/// <param name="Pagecount">頁面數</param>
/// <returns>string</returns>
private string Jump_List(int Pagecount , int Pageindex , long L_Manage)
{
StringBuilder sb = new StringBuilder ();
sb.Append ("<select id=\"Page_Jump\" name=\"Page_Jump\" onchange=\"window.location='"+ Request.CurrentExecutionFilePath +"?page='+ this.options[this.selectedIndex].value + '&Org_ID="+ L_Manage +"';\">");
for(int i = 1 ; i <= Pagecount ; i++)
{
if(Pageindex == i)
sb.Append ("<option value='"+ i +"' selected>"+ i +"</option>");
else
sb.Append ("<option value='"+ i +"'>"+ i +"</option>");
}
sb.Append ("</select>");

return sb.ToString ();
}

動行顯示效果如圖:

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

---------------------------------------------------------------------

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多