DataGridPageChangedEventArgs クラス

DataGrid コントロールの PageIndexChanged イベントのデータを提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、DataGridPageChangedEventArgs メンバ を参照してください。

System.Object
   System.EventArgs
      System.Web.UI.WebControls.DataGridPageChangedEventArgs

NotInheritable Public Class DataGridPageChangedEventArgs
   Inherits EventArgs
[C#]
public sealed class DataGridPageChangedEventArgs : EventArgs
[C++]
public __gc __sealed class DataGridPageChangedEventArgs : public
   EventArgs
[JScript]
public class DataGridPageChangedEventArgs extends EventArgs

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

PageIndexChanged イベントは、 DataGrid コントロールのページ選択要素のボタンをクリックしたときに発生します。

DataGridPageChangedEventArgs のインスタンスの初期プロパティ値の一覧については、 DataGridPageChangedEventArgs コンストラクタのトピックを参照してください。

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#] PageIndexChanged イベントのハンドラを指定およびコード化する方法を次の例に示します。項目を 10 個ずつ表示するページを DataGrid コントロールに表示します。

 

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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 Check_Change(sender As Object, e As EventArgs)
   
         ' Allow or prevent paging depending on the user's selection.
         If AllowPagingCheckBox.Checked Then

            ItemsGrid.AllowPaging = True

         Else

            ItemsGrid.AllowPaging = False

         End If

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

      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>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid AllowPaging Example</h3>

      Select whether to allow paging in 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>

               <asp:CheckBox id="AllowPagingCheckBox"
                    Text="Allow paging"
                    AutoPostBack="True"
                    Checked="True"
                    OnCheckedChanged="Check_Change"
                    runat="server"/>

            </td>
            
         </tr>

      </table>
 
   </form>
 
</body>
</html>


[C#] 

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource()
      {

         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double)));
 
         // Populate the table with sample values.
         for (int i=0; i<=100; i++) 
         {

            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         
         }
 
         DataView dv = new DataView(dt);

         return dv;
      
      }
 
      void Page_Load(Object sender, EventArgs e)
      { 
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack)
         { 
         
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         
         }

      }

      void Check_Change(Object sender, EventArgs e)
      {
   
         // Allow or prevent paging depending on the user's selection.
         if (AllowPagingCheckBox.Checked)
         {

            ItemsGrid.AllowPaging = true;

         }
         else
         {

            ItemsGrid.AllowPaging = false;

         }

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

      }

      void Grid_Change(Object sender, DataGridPageChangedEventArgs e) 
      {
 
         // 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();
      
      }

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid AllowPaging Example</h3>

      Select whether to allow paging in 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>

               <asp:CheckBox id="AllowPagingCheckBox"
                    Text="Allow paging"
                    AutoPostBack="True"
                    Checked="True"
                    OnCheckedChanged="Check_Change"
                    runat="server"/>

            </td>
            
         </tr>

      </table>
 
   </form>
 
</body>
</html>


[Visual Basic] 

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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

         ' Manually register the event-handling method for the PageIndexChanged  
         ' event of the DataGrid control.
         AddHandler ItemsGrid.PageIndexChanged, AddressOf Grid_Change

      End Sub

      Sub Check_Change(sender As Object, e As EventArgs)
   
         ' Allow or prevent paging depending on the user's selection.
         If AllowPagingCheckBox.Checked Then

            ItemsGrid.AllowPaging = True

         Else

            ItemsGrid.AllowPaging = False

         End If

         ' Re-bind the data to refresh the DataGrid control. 
         ItemsGrid.DataSource = CreateDataSource()
         ItemsGrid.DataBind()

      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 programmatically updated.
         ' 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

         ' Re-bind the data to refresh the DataGrid control. 
         ItemsGrid.DataSource = CreateDataSource()
         ItemsGrid.DataBind()
      
      End Sub

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid PageIndexChanged Example</h3>

      Select whether to allow paging in 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"
           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>

               <asp:CheckBox id="AllowPagingCheckBox"
                    Text="Allow paging"
                    AutoPostBack="True"
                    Checked="True"
                    OnCheckedChanged="Check_Change"
                    runat="server"/>

            </td>
            
         </tr>

      </table>
 
   </form>
 
</body>
</html>


[C#] 

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource()
      {

         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(String)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double)));
 
         // Populate the table with sample values.
         for (int i=0; i<=100; i++) 
         {

            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         
         }
 
         DataView dv = new DataView(dt);

         return dv;
      
      }
 
      void Page_Load(Object sender, EventArgs e)
      { 
 
         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack)
         { 
         
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         
         }

         // Manually register the event-handling method for the PageIndexChanged  
         // event of the DataGrid control.
         ItemsGrid.PageIndexChanged += new DataGridPageChangedEventHandler(this.Grid_Change);

      }

      void Check_Change(Object sender, EventArgs e)
      {
   
         // Allow or prevent paging depending on the user's selection.
         if (AllowPagingCheckBox.Checked)
         {

            ItemsGrid.AllowPaging = true;

         }
         else
         {

            ItemsGrid.AllowPaging = false;

         }

         // Re-bind the data to refresh the DataGrid control. 
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();

      }

      void Grid_Change(Object sender, DataGridPageChangedEventArgs e) 
      {
 
         // For the DataGrid control to navigate to the correct page when paging is
         // allowed, the CurrentPageIndex property must be programmatically updated.
         // 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;

         // Re-bind the data to refresh the DataGrid control. 
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();
      
      }

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid PageIndexChanged Example</h3>

      Select whether to allow paging in 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"
           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>

               <asp:CheckBox id="AllowPagingCheckBox"
                    Text="Allow paging"
                    AutoPostBack="True"
                    Checked="True"
                    OnCheckedChanged="Check_Change"
                    runat="server"/>

            </td>
            
         </tr>

      </table>
 
   </form>
 
</body>
</html>

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Web.UI.WebControls

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web (System.Web.dll 内)

参照

DataGridPageChangedEventArgs メンバ | System.Web.UI.WebControls 名前空間 | DataGridPageChangedEventHandler | DataGrid | PageIndexChanged | OnPageIndexChanged