GridViewPageEventHandler デリゲート
アセンブリ: System.Web (system.web.dll 内)

/** @delegate */ public delegate void GridViewPageEventHandler ( Object sender, GridViewPageEventArgs e )

GridView コントロールは、コントロール内のページャ ボタン (CommandName プロパティが "Page" に設定されたボタン) がクリックされたときに、GridView コントロールでページング操作を処理する前に PageIndexChanging イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (ページング操作のキャンセルなど) を実行するイベント処理メソッドを提供できます。
![]() |
---|
GridViewPageEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

GridViewPageEventHandler デリゲートを、プログラムによって GridView コントロールの PageIndexChanging イベントに追加する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Create a new GridView control. Dim customersGridView As New GridView() ' Set the GridView object's properties. customersGridView.ID = "CustomersGridView" customersGridView.DataSourceID = "CustomersSource" customersGridView.AutoGenerateColumns = True customersGridView.EmptyDataText = "No data available." customersGridView.AllowPaging = True customersGridView.AutoGenerateEditButton = True customersGridView.PagerSettings.Mode = PagerButtons.Numeric customersGridView.PagerSettings.Position = PagerPosition.Bottom customersGridView.PagerSettings.PageButtonCount = 10 customersGridView.PagerStyle.BackColor = System.Drawing.Color.LightBlue Dim keyArray() As String = {"CustomerID"} customersGridView.DataKeyNames = keyArray ' Programmatically register the event-handling methods. AddHandler customersGridView.PageIndexChanging, AddressOf CustomersGridView_PageIndexChanging AddHandler customersGridView.RowCancelingEdit, AddressOf CustomersGridView_RowCancelingEdit ' Add the GridView control to the Controls collection ' of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(customersGridView) End Sub Sub CustomersGridView_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) ' User the sender parameter to retrieve the GridView control ' that raised the event. Dim customersGridView As GridView = CType(sender, GridView) ' Cancel the paging operation if the user attempts to navigate ' to another page while the GridView control is in edit mode. If customersGridView.EditIndex <> -1 Then ' Use the cancel property to cancel the paging operation. e.Cancel = True ' Display an error message. Dim newPageNumber As Integer = e.NewPageIndex + 1 Message.Text = "Please update the record before moving to page " & _ newPageNumber.ToString() & "." Else ' Clear the error message. Message.Text = "" End If End Sub Sub CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs) ' Clear the error message. Message.Text = "" End Sub </script> <html> <body> <form runat="server"> <h3>GridViewPageEventHandler Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <asp:placeholder id="GridViewPlaceHolder" runat="server" /> <!-- 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="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { // Create a new GridView control. GridView customersGridView = new GridView(); // Set the GridView object's properties. customersGridView.ID = "CustomersGridView"; customersGridView.DataSourceID = "CustomersSource"; customersGridView.AutoGenerateColumns = true; customersGridView.EmptyDataText = "No data available."; customersGridView.AllowPaging = true; customersGridView.AutoGenerateEditButton = true; customersGridView.PagerSettings.Mode = PagerButtons.Numeric; customersGridView.PagerSettings.Position = PagerPosition.Bottom; customersGridView.PagerSettings.PageButtonCount = 10; customersGridView.PagerStyle.BackColor = System.Drawing.Color.LightBlue; customersGridView.DataKeyNames = new String[] { "CustomerID" }; // Programmatically register the event-handling methods. customersGridView.PageIndexChanging += new GridViewPageEventHandler(this.CustomersGridView_PageIndexChanging); customersGridView.RowCancelingEdit += new GridViewCancelEditEventHandler(this.CustomersGridView_RowCancelingEdit); // Add the GridView control to the Controls collection // of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(customersGridView); } void CustomersGridView_PageIndexChanging(Object sender, GridViewPageEventArgs e) { // User the sender parameter to retrieve the GridView control // that raised the event. GridView customersGridView = (GridView)sender; // Cancel the paging operation if the user attempts to navigate // to another page while the GridView control is in edit mode. if (customersGridView.EditIndex != -1) { // Use the cancel property to cancel the paging operation. e.Cancel = true; // Display an error message. int newPageNumber = e.NewPageIndex + 1; Message.Text = "Please update the record before moving to page " + newPageNumber.ToString() + "."; } else { // Clear the error message. Message.Text = ""; } } void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e) { // Clear the error message. Message.Text = ""; } </script> <html> <body> <form runat="server"> <h3>GridViewPageEventHandler Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <asp:placeholder id="GridViewPlaceHolder" runat="server" /> <!-- 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="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
GridViewPageEventHandler デリゲートを、宣言によって GridView コントロールの PageIndexChanging イベントに追加する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) ' Cancel the paging operation if the user attempts to navigate ' to another page while the GridView control is in edit mode. If CustomersGridView.EditIndex <> -1 Then ' Use the Cancel property to cancel the paging operation. e.Cancel = True ' Display an error message. Dim newPageNumber As Integer = e.NewPageIndex + 1 Message.Text = "Please update the record before moving to page " & _ newPageNumber.ToString() & "." Else ' Clear the error message. Message.Text = "" End If End Sub Sub CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs) ' Clear the error message. Message.Text = "" End Sub </script> <html> <body> <form runat="server"> <h3>GridView PageIndexChanging Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="true" emptydatatext="No data available." allowpaging="true" autogenerateeditbutton="true" datakeynames="CustomerID" onpageindexchanging="CustomersGridView_PageIndexChanging" onrowcancelingedit="CustomersGridView_RowCancelingEdit" runat="server"> <pagersettings mode="Numeric" position="Bottom" pagebuttoncount="10"/> <pagerstyle backcolor="LightBlue"/> </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="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomersGridView_PageIndexChanging(Object sender, GridViewPageEventArgs e) { // Cancel the paging operation if the user attempts to navigate // to another page while the GridView control is in edit mode. if (CustomersGridView.EditIndex != -1) { // Use the Cancel property to cancel the paging operation. e.Cancel = true; // Display an error message. int newPageNumber = e.NewPageIndex + 1; Message.Text = "Please update the record before moving to page " + newPageNumber.ToString() + "."; } else { // Clear the error message. Message.Text = ""; } } void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e) { // Clear the error message. Message.Text = ""; } </script> <html> <body> <form runat="server"> <h3>GridView PageIndexChanging Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="true" emptydatatext="No data available." allowpaging="true" autogenerateeditbutton="true" datakeynames="CustomerID" onpageindexchanging="CustomersGridView_PageIndexChanging" onrowcancelingedit="CustomersGridView_RowCancelingEdit" runat="server"> <pagersettings mode="Numeric" position="Bottom" pagebuttoncount="10"/> <pagerstyle backcolor="LightBlue"/> </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="CustomersSource" selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からGridViewPageEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

- GridViewPageEventHandler デリゲートのページへのリンク