<%@ Page language="C#" %> <script runat="server"> void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e) { // Retrieve the pager row. GridViewRow pagerRow = CustomersGridView.BottomPagerRow; // Retrieve the PageDropDownList DropDownList from the bottom pager row. DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList"); // Set the PageIndex property to display that page selected by the user. CustomersGridView.PageIndex = pageList.SelectedIndex; } void CustomersGridView_DataBound(Object sender, EventArgs e) { // Retrieve the pager row. GridViewRow pagerRow = CustomersGridView.BottomPagerRow; // Retrieve the DropDownList and Label controls from the row. DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList"); Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel"); if(pageList != null) { // Create the values for the DropDownList control based on // the total number of pages required to display the data // source. for(int i=0; i<CustomersGridView.PageCount; i++) { // Create a ListItem object to represent a page. int pageNumber = i + 1; ListItem item = new ListItem(pageNumber.ToString()); // If the ListItem object matches the currently selected // page, flag the ListItem object as being selected. Because // the DropDownList control is recreated each time the pager // row gets created, this will persist the selected item in // the DropDownList control. if(i==CustomersGridView.PageIndex) { item.Selected = true; } // Add the ListItem object to the Items collection of the // DropDownList. pageList.Items.Add(item); } } if(pageLabel != null) { // Calculate the current page number. int currentPage = CustomersGridView.PageIndex + 1; // Update the Label control with the current page information. pageLabel.Text = "Page " + currentPage.ToString() + " of " + CustomersGridView.PageCount.ToString(); } } </script> <html> <body> <form runat="server"> <h3>GridView PagerTemplate Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="true" allowpaging="true" ondatabound="CustomersGridView_DataBound" runat="server"> <pagerstyle forecolor="Blue" backcolor="LightBlue"/> <pagertemplate> <table width="100%"> <tr> <td width="70%"> <asp:label id="MessageLabel" forecolor="Blue" text="Select a page:" runat="server"/> <asp:dropdownlist id="PageDropDownList" autopostback="true" onselectedindexchanged="PageDropDownList_SelectedIndexChanged" runat="server"/> </td> <td width="70%" align="right"> <asp:label id="CurrentPageLabel" forecolor="Blue" runat="server"/> </td> </tr> </table> </pagertemplate> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Northwind sample database. Use an ASP.NET --> <!-- expression to retrieve the connection string value --> <!-- from the Web.config file. --> <asp:sqldatasource id="CustomersSqlDataSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"> </asp:sqldatasource> </form> </body> </html>
GridView.PageIndex 属性
最新推荐文章于 2023-05-26 17:14:17 发布