Repeater分页代码
生活随笔
收集整理的這篇文章主要介紹了
Repeater分页代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//ASP.NET中的DataList和Repeater提供了簡單快速的方法來顯示,其間,我們可以使用<ItemTemplate>更是使我們能隨心所欲的控制數據的排放樣式! //.可惜的是它們不像Datagrid那樣,有內置的分頁功能。 // //如何解決呢? // //其實我們可以用【PagedDataSource】 類來解決分頁的問題。 // //PagedDataSource類的屬性: // // //DataSource -數據源 // //AllowPaging - true 是否允許分頁. //PageSize - 每頁項目數量 //PageCount - 總頁數 // //CurrentPageIndex - 當前所在的頁索引 //以Repeater為例 代碼如下: ========================================================================== //Result.aspx.cs 文件 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace comeday {/// <summary>/// Result 的摘要說明。/// </summary>public class Result : System.Web.UI.Page{protected System.Web.UI.WebControls.HyperLink lnkPrev;protected System.Web.UI.WebControls.HyperLink lnkNext;protected System.Web.UI.WebControls.Label lblCurrentPage;protected System.Web.UI.WebControls.Label lblTotalPage;protected System.Web.UI.WebControls.Repeater Repeater1;private void Page_Load(object sender, System.EventArgs e){ // 數據源PagedDataSource Pgds=new PagedDataSource(); // Pgds.DataSource=CreateDataSource().DefaultView; // 設置允許分頁Pgds.AllowPaging=true; // 每頁顯示為6行Pgds.PageSize=6; // 顯示總共頁數 // lblTotalPage.Text=Pgds.PageCount.ToString(); // 當前頁int CurrentPage; // 請求頁碼為不為null設置當前頁,否則為第一頁if(Request.QueryString["Page"] != null){CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);}else{CurrentPage = 1;} // 當前頁所引為頁碼-1Pgds.CurrentPageIndex = CurrentPage - 1; // 顯示當前頁碼lblCurrentPage.Text = CurrentPage.ToString(); // 如果不是第一頁,通過參數Page設置上一頁為當前頁-1,否則不顯示連接if(!Pgds.IsFirstPage){// Request.CurrentExecutionFilePath為當前請求虛擬路徑lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1);} // End If // 如果不是最后一頁,通過參數Page設置下一頁為當前頁+1,否則不顯示連接if(!Pgds.IsLastPage){ // Request.CurrentExecutionFilePath為當前請求虛擬路徑lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1);} // 模板綁定數據源 Repeater1.DataSource = Pgds;Repeater1.DataBind();}/// <summary>/// 生成數據源(一個Datatable)/// </summary>/// <returns></returns> public DataTable CreateDataSource() {DataTable dt; DataRow dr;dt=new DataTable();//添加列dt.Columns.Add(new DataColumn("IntegerValue", System.Type.GetType("System.Int32")));dt.Columns.Add(new DataColumn("StringValue", System.Type.GetType("System.String")));dt.Columns.Add(new DataColumn("DateTimeValue", System.Type.GetType("System.DateTime")));dt.Columns.Add(new DataColumn("BoolValue", System.Type.GetType("System.Boolean")));//填充數據for( int i=0;i<50;i++){dr = dt.NewRow();dr[0] = i;dr[1] = "Item " + i.ToString();dr[2] = DateTime.Now.ToShortTimeString();if(i%2!=0){dr[3] = true;}else{dr[3] = false;}dt.Rows.Add(dr);}return dt; }#region Web 窗體設計器生成的代碼override protected void OnInit(EventArgs e){//// CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。// InitializeComponent();base.OnInit(e);}/// <summary>/// 設計器支持所需的方法 - 不要使用代碼編輯器修改/// 此方法的內容。/// </summary>private void InitializeComponent(){ this.Load += new System.EventHandler(this.Page_Load);}#endregion} } =========================================================================== Result.aspx文件 <%@ Page Language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="comeday.Result" %> <%@ import Namespace="System.Data" %> <HTML> <HEAD> <title>DataRepeater</title> <style type="text/css">BODY {FONT: 10px Verdana, Arial, Helvetica, "sans serif"; COLOR: #000000 }.txt { FONT-SIZE: 12px }</style> </HEAD> <body> <form id="Form2" name="form1" method="post" runat="server"> <table class="txt" width="100%" border="0"><tbody><tr><td><asp:hyperlink id="lnkPrev" runat="server">上一頁</asp:hyperlink><asp:hyperlink id="lnkNext" runat="server">下一頁</asp:hyperlink>第<asp:label id="lblCurrentPage" runat="server"></asp:label>頁 共<asp:label id="lblTotalPage" runat="server"></asp:label>
頁</td></tr></tbody></table><asp:repeater id="Repeater1" runat="server"><ItemTemplate><hr align="left" width="60%" size="1"><table class="txt" width="100%" border="0"><tr><td>Order Date:<%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %></td><tr><td>Quantity:<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %></td><tr><td>Item:<%# DataBinder.Eval(Container.DataItem, "StringValue") %></td><tr><td>Order Date:<asp:checkbox id=chk1 checked='<%# DataBinder.Eval(Container.DataItem, "BoolValue") %>' runat="server"/></td></tr></table></ItemTemplate></asp:repeater><hr hight="1"></form></body></HTML>
<%@ Page Language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="comeday.Result" %>
DataList同理。
?
轉載于:https://www.cnblogs.com/angelasp/p/3501527.html
總結
以上是生活随笔為你收集整理的Repeater分页代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 湿字开头的四字成语有哪些?
- 下一篇: 谢谢你没关系是什么歌啊