GridViewEditEventArgs クラス
アセンブリ: System.Web (system.web.dll 内)


GridView コントロールは、Edit ボタン (CommandName プロパティが "Edit" に設定されたボタン) がクリックされた場合に、GridView コントロールが編集モードになる前に RowEditing イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (編集操作のキャンセルなど) を実行するイベント処理メソッドを提供できます。
GridViewEditEventArgs オブジェクトがイベント処理メソッドに渡されることにより、編集される行のインデックスを確認したり、編集をキャンセルする必要があることを示したりできます。編集操作をキャンセルするには、GridViewEditEventArgs オブジェクトの Cancel プロパティを true に設定します。
イベント処理の詳細については、「イベントの利用」を参照してください。
GridViewEditEventArgs のインスタンスの初期プロパティ値の一覧については、GridViewEditEventArgs コンストラクタのトピックを参照してください。

イベント処理メソッドに渡された GridViewEditEventArgs オブジェクトを使用して、White という姓の作成者が格納されている行をユーザーが編集しようとした場合に編集操作をキャンセルする方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs) ' Get the country for the row being edited. For this example, the ' country is contained in the seventh column (index 6). Dim country As String = CustomersGridView.Rows(e.NewEditIndex).Cells(6).Text ' For this example, cancel the edit operation if the user attempts ' to edit the record of a customer from the United States. If country = "USA" Then ' Cancel the edit operation. e.Cancel = True Message.Text = "You cannot edit this record." Else Message.Text = "" End If End Sub </script> <html> <body> <form runat="server"> <h3>GridView RowEditing Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <!-- The GridView control automatically sets the columns --> <!-- specified in the datakeynames property as read-only. --> <!-- No input controls are rendered for these columns in --> <!-- edit mode. --> <asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onrowediting="CustomersGridView_RowEditing" runat="server"> </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]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"> </asp:sqldatasource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomersGridView_RowEditing(Object sender, GridViewEditEventArgs e) { // Get the country for the row being edited. For this example, the // country is contained in the seventh column (index 6). String country = CustomersGridView.Rows[e.NewEditIndex].Cells[6].Text; // For this example, cancel the edit operation if the user attempts // to edit the record of a customer from the Unites States. if (country == "USA") { // Cancel the edit operation. e.Cancel = true; Message.Text = "You cannot edit this record."; } else { Message.Text = ""; } } </script> <html> <body> <form runat="server"> <h3>GridView RowEditing Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <br/> <!-- The GridView control automatically sets the columns --> <!-- specified in the datakeynames property as read-only. --> <!-- No input controls are rendered for these columns in --> <!-- edit mode. --> <asp:gridview id="CustomersGridView" datasourceid="CustomersSqlDataSource" autogeneratecolumns="true" autogenerateeditbutton="true" allowpaging="true" datakeynames="CustomerID" onrowediting="CustomersGridView_RowEditing" runat="server"> </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]" updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"> </asp:sqldatasource> </form> </body> </html>


System.EventArgs
System.ComponentModel.CancelEventArgs
System.Web.UI.WebControls.GridViewEditEventArgs


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- GridViewEditEventArgs クラスのページへのリンク