DataGrid.PagerStyle Property

 

Gets the style properties of the paging section of the DataGrid control.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

<PersistenceModeAttribute(PersistenceMode.InnerProperty)>
Public Overridable ReadOnly Property PagerStyle As DataGridPagerStyle

Property Value

Type: System.Web.UI.WebControls.DataGridPagerStyle

A DataGridPagerStyle object that contains the style properties of the paging section of the DataGrid control. The default value is an empty DataGridPagerStyle object.

Use this property to provide a custom style for the paging section of the DataGrid control. Common style attributes that can be adjusted include forecolor, backcolor, font, and content alignment within the cell. Providing a different style enhances the appearance of the DataGrid control.

To specify a custom style for the paging section, place the <PagerStyle> tags between the opening and closing tags of the DataGrid control. You can then list the style attributes within the opening <PagerStyle> tag.

The following code example demonstrates how to use the PagerStyle property to specify a custom style for the page selection elements of the DataGrid control.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

 <!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" >
 <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)
    If chk1.Checked Then
        MyDataGrid.PagerStyle.Mode = PagerMode.NumericPages
    Else
        MyDataGrid.PagerStyle.Mode = PagerMode.NextPrev
    End If 
    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>

 <head runat="server">
    <title>DataGrid Paging Example</title>
</head>
<body>

    <h3>DataGrid Paging Example</h3>

    <form id="form1" runat="server">

       <asp:DataGrid id="MyDataGrid" runat="server"
            AllowPaging="True"
            PageSize="10"
            OnPageIndexChanged="MyDataGrid_Page"
            BorderColor="black"
            BorderWidth="1"
            GridLines="Both"
            CellPadding="3"
            CellSpacing="0"
            Font-Names="Verdana"
            Font-Size="8pt">

          <PagerStyle Mode="NumericPages"
                      HorizontalAlign="Right">
          </PagerStyle>

          <HeaderStyle BackColor="#aaaadd">
          </HeaderStyle>

          <AlternatingItemStyle BackColor="#eeeeee">
          </AlternatingItemStyle>

       </asp:DataGrid>

       <br />

       <asp:Checkbox id="chk1" runat="server"
            Text="Show numeric page navigation buttons"
            Font-Names="Verdana"
            Font-Size="8pt"
            AutoPostBack="true"/>

       <br />

       <table style="background-color:#eeeeee; padding:6">
          <tr>
             <td style="display:inline">


                   <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>


<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<!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" >
   <script runat="server">

      Function CreateDataSource() As ICollection 

         ' Create sample data for the DataGrid control.
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow

         ' Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(new DataColumn("StringValue", GetType(String)))
         dt.Columns.Add(new DataColumn("CurrencyValue", GetType(Double)))

         ' Populate the table with sample values.
         Dim i As Integer

         For i=0 To 100

            dr = dt.NewRow()

            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * (i + 1)

            dt.Rows.Add(dr)

         Next i

         Dim dv As DataView = New DataView(dt)

         Return dv

      End Function

      Sub Page_Load(sender As Object, e As EventArgs)

         ' Load sample data only once, when the page is first loaded.
         If Not IsPostBack Then 

            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()

         End If

      End Sub

      Sub Selection_Change(sender As Object, e As EventArgs)

         ' Set the background color for the paging controls section of
         ' the DataGrid control.
         ItemsGrid.PagerStyle.BackColor = _
             System.Drawing.Color.FromName(List.SelectedItem.Value)

      End Sub

      Sub Grid_Change(sender As Object, e As DataGridPageChangedEventArgs) 

         ' For the DataGrid control to navigate to the correct page when
         ' paging is allowed, the CurrentPageIndex property must be
         ' updated programmatically. This process is usually accomplished
         ' in the event-handling method for the PageIndexChanged event.

         ' Set CurrentPageIndex to the page the user clicked.
         ItemsGrid.CurrentPageIndex = e.NewPageIndex

         ' Rebind the data to refresh the DataGrid control. 
         ItemsGrid.DataSource = CreateDataSource()
         ItemsGrid.DataBind()

      End Sub

   </script>

<head runat="server">
    <title>DataGrid PagerStyle Example</title>
</head>
<body>

   <form id="form1" runat="server">

      <h3>DataGrid PagerStyle Example</h3>

      Select a backcolor for the paging controls section
      of the DataGrid control.

      <br /><br />

      <b>Product List</b>

      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="False"
           PageSize="10"
           AllowPaging="True"
           OnPageIndexChanged="Grid_Change"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue" 
                 SortExpression="IntegerValue"
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 SortExpression="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 SortExpression="CurrencyValue"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 

      </asp:DataGrid>

      <hr />

      <table cellpadding="5">

         <tr>

            <td>

               BackColor:

            </td>

         </tr>

         <tr>

            <td>

               <asp:DropDownList id="List"
                    AutoPostBack="True"
                    OnSelectedIndexChanged="Selection_Change"
                    runat="server">

                  <asp:ListItem Selected="True" Value="White"> White </asp:ListItem>
                  <asp:ListItem Value="Silver"> Silver </asp:ListItem>
                  <asp:ListItem Value="DarkGray"> Dark Gray </asp:ListItem>
                  <asp:ListItem Value="Khaki"> Khaki </asp:ListItem>
                  <asp:ListItem Value="DarkKhaki"> Dark Khaki </asp:ListItem>

               </asp:DropDownList>

            </td>

         </tr>

      </table>

   </form>

</body>
</html>

.NET Framework
Available since 1.1
Return to top
Show: