DataGridPagerStyle.PageButtonCount Property
Gets or sets the number of numeric buttons to display concurrently in the pager element of the DataGrid control.
[Visual Basic] Public Property PageButtonCount As Integer [C#] public int PageButtonCount {get; set;} [C++] public: __property int get_PageButtonCount(); public: __property void set_PageButtonCount(int); [JScript] public function get PageButtonCount() : int; public function set PageButtonCount(int);
Property Value
The number of numeric buttons to display concurrently in the pager element of the DataGrid control. The default value is 10.
Remarks
Use the PageButtonCount property to specify the number of numeric buttons to display concurrently in the pager element of the DataGrid control. The Mode property must be set to PagerMode.NumericPages for this property to have any effect.
If there are more pages in the DataGrid control than specified in this property, ellipses buttons (...) are displayed in the pager element. When clicked, these buttons display the next or previous set of numeric buttons.
Example
[Visual Basic, C#] The following example demonstrates how to use the PageButtonCount property to display five numeric page buttons concurrently in the pager element of a DataGrid control.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script language="VB" runat="server"> Function CreateDataSource() As ICollection Dim dt As New DataTable() Dim dr As DataRow dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("DateTimeValue", GetType(String))) dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean))) Dim i As Integer For i = 0 To 99 dr = dt.NewRow() dr(0) = i dr(1) = "Item " & i.ToString() dr(2) = DateTime.Now.ToShortDateString() If i Mod 2 <> 0 Then dr(3) = True Else dr(3) = False End If dt.Rows.Add(dr) Next i Dim dv As New DataView(dt) Return dv End Function 'CreateDataSource Sub Page_Load(sender As Object, e As EventArgs) BindGrid() End Sub 'Page_Load Sub MyDataGrid_Page(sender As Object, e As DataGridPageChangedEventArgs) MyDataGrid.CurrentPageIndex = e.NewPageIndex BindGrid() End Sub 'MyDataGrid_Page Sub BindGrid() MyDataGrid.DataSource = CreateDataSource() MyDataGrid.DataBind() ShowStats() End Sub 'BindGrid Sub ShowStats() lblEnabled.Text = "AllowPaging is " & MyDataGrid.AllowPaging lblCurrentIndex.Text = "CurrentPageIndex is " & MyDataGrid.CurrentPageIndex lblPageCount.Text = "PageCount is " & MyDataGrid.PageCount lblPageSize.Text = "PageSize is " & MyDataGrid.PageSize End Sub 'ShowStats </script> <body> <h3>Paging with DataGrid</h3> <form runat=server> <asp:DataGrid id="MyDataGrid" runat="server" AllowPaging="True" PageSize="10" PagerStyle-Mode="NumericPages" PagerStyle-PageButtonCount="5" PagerStyle-HorizontalAlign="Right" OnPageIndexChanged="MyDataGrid_Page" BorderColor="black" BorderWidth="1" GridLines="Both" CellPadding="3" CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" AlternatingItemStyle-BackColor="#eeeeee"/> <p> <table bgcolor="#eeeeee" cellpadding="6"> <tr> <td nowrap> <asp:Label id="lblEnabled" runat="server"/><br> <asp:Label id="lblCurrentIndex" runat="server"/><br> <asp:Label id="lblPageCount" runat="server"/><br> <asp:Label id="lblPageSize" runat="server"/><br> </td> </tr> </table> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script language="C#" runat="server"> ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string))); dt.Columns.Add(new DataColumn("BoolValue", typeof(bool))); for (int i = 0; i < 100; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = DateTime.Now.ToShortDateString(); dr[3] = (i % 2 != 0) ? true : false; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { BindGrid(); } void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) { MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid(); } void BindGrid() { MyDataGrid.DataSource = CreateDataSource(); MyDataGrid.DataBind(); ShowStats(); } void ShowStats() { lblEnabled.Text = "AllowPaging is " + MyDataGrid.AllowPaging; lblCurrentIndex.Text = "CurrentPageIndex is " + MyDataGrid.CurrentPageIndex; lblPageCount.Text = "PageCount is " + MyDataGrid.PageCount; lblPageSize.Text = "PageSize is " + MyDataGrid.PageSize; } </script> <body> <h3>Paging with DataGrid</h3> <form runat=server> <asp:DataGrid id="MyDataGrid" runat="server" AllowPaging="True" PageSize="10" PagerStyle-Mode="NumericPages" PagerStyle-PageButtonCount="5" PagerStyle-HorizontalAlign="Right" OnPageIndexChanged="MyDataGrid_Page" BorderColor="black" BorderWidth="1" GridLines="Both" CellPadding="3" CellSpacing="0" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" AlternatingItemStyle-BackColor="#eeeeee"/> <p> <table bgcolor="#eeeeee" cellpadding="6"> <tr> <td nowrap> <asp:Label id="lblEnabled" runat="server"/><br> <asp:Label id="lblCurrentIndex" runat="server"/><br> <asp:Label id="lblPageCount" runat="server"/><br> <asp:Label id="lblPageSize" runat="server"/><br> </td> </tr> </table> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataGridPagerStyle Class | DataGridPagerStyle Members | System.Web.UI.WebControls Namespace | DataGrid | Mode