ASP.NET: Could anyone provide some C# paging codes in Repeater or ListView controls for me to learn.
Many many thanks....
From stackoverflow
-
Here is a pager control that I created to drop into the PagerTemplate of a GridView. It's not the most complicated stuff, but it shows how a pager control can 'see' the grid that it belongs to and render a dropdown to jump to a specific page.
DataPager.ascx
<%@ Control Language="C#" AutoEventWireup="true" EnableViewState="true" CodeFile="DataPager.ascx.cs" Inherits="Resources_Controls_DataPager" %> <div> <div style="float:right;"> <asp:ImageButton id="PageFirst" CommandName="Page" CommandArgument="First" runat="server" /> <asp:ImageButton id="PagePrev" CommandName="Page" CommandArgument="Prev" runat="server" /> Page <asp:DropDownList id="pagesDropDown" autopostback="true" OnSelectedIndexChanged="pagesDropDown_SelectedIndexChanged" runat="server" /> <asp:Label id="pageTotalPages" runat="server" /> <asp:ImageButton ID="PageNext" CommandName="Page" CommandArgument="Next" runat="server" /> <asp:ImageButton ID="PageLast" CommandName="Page" CommandArgument="Last" runat="server" /> </div> <div style="clear:both;"></div> </div>
DataPager.ascx.cs
public partial class Resources_Controls_DataPager : System.Web.UI.UserControl { #region Property: ParentGrid public GridView ParentGrid { get { return (GridView)Parent.Parent.Parent.Parent; } } #endregion protected void Page_Load(object sender, EventArgs e) { FillPage(); } public void FillPage() { if (ParentGrid != null && pagesDropDown.Items.Count == 0) { pagesDropDown.Items.Clear(); for (int ix = 0; ix < ParentGrid.PageCount; ix++) { ListItem item = new ListItem((ix + 1).ToString()); item.Selected = (ix == ParentGrid.PageIndex); pagesDropDown.Items.Add(item); } if (pagesDropDown.Items.Count == 0) pagesDropDown.Items.Add(new ListItem("0")); pageTotalPages.Text = String.Format("of {0}", ParentGrid.PageCount); } } protected void pagesDropDown_SelectedIndexChanged(object sender, EventArgs e) { ParentGrid.PageIndex = pagesDropDown.SelectedIndex; } }
Daoming Yang : Thanks very much. I will test it. hoho...
0 comments:
Post a Comment