<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Repeater2.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Repeater ID="rptPages" runat="server" > <HeaderTemplate> <table border="1" cellpadding="0" cellspacing="0"> </HeaderTemplate> <ItemTemplate> <asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%#Container.DataItem %>" runat="server"><%# Container.DataItem %></asp:LinkButton> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <asp:Repeater ID="rptItems" runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <%#DataBinder.Eval(Container.DataItem,"pid")%> <%#DataBinder.Eval(Container.DataItem,"pname") %> <%#DataBinder.Eval(Container.DataItem,"qty") %> <%#DataBinder.Eval(Container.DataItem,"unitprice") %> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> </div> </form> </body> </html>
using System; using System.Collections; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace Repeater2 { public partial class WebForm1 : System.Web.UI.Page { SqlConnection con; SqlDataAdapter da; DataSet ds; protected void Page_Load(object sender, EventArgs e) { con = new SqlConnection("Data Source=.;Initial Catalog=rept;Integrated Security=True"); if (!Page.IsPostBack) LoadData(); } private void LoadData() { con.Open(); da = new SqlDataAdapter("select * from product", con); DataTable dt = new DataTable(); da.Fill(dt); con.Close(); PagedDataSource pgitems = new PagedDataSource(); DataView dv = new DataView(dt); pgitems.DataSource = dv; pgitems.AllowPaging = true; pgitems.PageSize = 5; pgitems.CurrentPageIndex = PageNumber; if (pgitems.PageCount > 1) { rptPages.Visible = true; ArrayList pages = new ArrayList(); for (int i = 0; i < pgitems.PageCount; i++) pages.Add((i + 1).ToString()); rptPages.DataSource = pages; rptPages.DataBind(); } else { rptPages.Visible = false; } rptItems.DataSource = pgitems; rptItems.DataBind(); } public int PageNumber { get { if (ViewState["PageNumber"] != null) return Convert.ToInt32(ViewState["PageNumber"]); else return 0; } set { ViewState["PageNumber"] = value; } } protected override void OnInit(EventArgs e) { base.OnInit(e); rptPages.ItemCommand += new RepeaterCommandEventHandler(rptPages_ItemCommand); } void rptPages_ItemCommand(Object sender, RepeaterCommandEventArgs e) { if(e.CommandArgument is int) { PageNumber = (int)e.CommandArgument - 1; LoadData(); } } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)