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

Public Delegate Sub GridViewUpdateEventHandler ( _ sender As Object, _ e As GridViewUpdateEventArgs _ )
/** @delegate */ public delegate void GridViewUpdateEventHandler ( Object sender, GridViewUpdateEventArgs e )

RowUpdating イベントは、行の Update ボタンがクリックされた場合に、GridView コントロールで行が更新される前に発生します。これにより、このイベントが発生するたびにカスタム ルーチン (更新操作のキャンセルなど) を実行するイベント処理メソッドを提供できます。
GridViewUpdateEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

GridViewUpdateEventHandler デリゲートを、プログラムによって GridView コントロールの RowUpdating イベントに追加する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Create a new GridView object. Dim authorGridView As GridView = New GridView ' Set the GridView object's properties. authorGridView.ID = "AuthorGridView" authorGridView.DataSourceID = "AuthorsSqlDataSource" authorGridView.AutoGenerateColumns = True authorGridView.AutoGenerateEditButton = True authorGridView.DataKeyNames = New [String]() {"au_id"} ' Programmatically register the event-handling method. AddHandler authorGridView.RowUpdating, AddressOf AuthorsGridView_RowUpdating ' Add the GridView object to the Controls collection ' of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(authorGridView) End Sub Sub AuthorsGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) ' HTML-encode all user-provided values before updating ' the data source. Dim i As Integer For i = 0 To e.NewValues.Count - 1 Dim entry As DictionaryEntry = e.NewValues(i) e.NewValues(entry.Key) = Server.HtmlEncode(entry.Value.ToString()) Next i End Sub </script> <html> <body> <form runat="server"> <h3>GridViewUpdateEventHandler 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 Pubs sample database. --> <asp:sqldatasource id="AuthorsSqlDataSource" selectcommand="SELECT [au_id], [au_lname], [au_fname], [address], [city], [state], [zip] FROM [authors]" updatecommand="UPDATE authors SET au_lname=@au_lname, au_fname=@au_fname, address=@address, city=@city, state=@state, zip=@zip WHERE (authors.au_id = @au_id)" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { // Create a new GridView object. GridView authorGridView = new GridView(); // Set the GridView object's properties. authorGridView.ID = "AuthorGridView"; authorGridView.DataSourceID = "AuthorsSqlDataSource"; authorGridView.AutoGenerateColumns = true; authorGridView.AutoGenerateEditButton = true; authorGridView.DataKeyNames = new String[] {"au_id"}; // Programmatically register the event-handling method. authorGridView.RowUpdating += new GridViewUpdateEventHandler(this.AuthorsGridView_RowUpdating); // Add the GridView object to the Controls collection // of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(authorGridView); } void AuthorsGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e) { // HTML-encode all user-provided values before updating // the data source. foreach (DictionaryEntry entry in e.NewValues) { e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString()); } } </script> <html> <body> <form runat="server"> <h3>GridViewUpdateEventHandler 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 Pubs sample database. --> <asp:sqldatasource id="AuthorsSqlDataSource" selectcommand="SELECT [au_id], [au_lname], [au_fname], [address], [city], [state], [zip] FROM [authors]" updatecommand="UPDATE authors SET au_lname=@au_lname, au_fname=@au_fname, address=@address, city=@city, state=@state, zip=@zip WHERE (authors.au_id = @au_id)" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> </form> </body> </html>
GridViewUpdateEventHandler デリゲートを、宣言によって GridView コントロールの RowUpdating イベントに追加する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) ' Use the CopyTo method to copy the DictionaryEntry objects in the ' NewValues collection to an array. Dim records(e.NewValues.Count - 1) As DictionaryEntry e.NewValues.CopyTo(records, 0) ' Iterate through the array and HTML encode all user-provided values ' before updating the data source. Dim entry As DictionaryEntry For Each entry In records e.NewValues(entry.Key) = Server.HtmlEncode(entry.Value.ToString()) Next End Sub </script> <html> <body> <form runat="server"> <h3>GridView RowUpdating Example</h3> <!-- 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" onrowupdating="CustomersGridView_RowUpdating" 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_RowUpdating(Object sender, GridViewUpdateEventArgs e) { // Iterate through the NewValues collection and HTML encode all // user-provided values before updating the data source. foreach (DictionaryEntry entry in e.NewValues) { e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString()); } } </script> <html> <body> <form runat="server"> <h3>GridView RowUpdating Example</h3> <!-- 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" onrowupdating="CustomersGridView_RowUpdating" 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>

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に収録されているすべての辞書からGridViewUpdateEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

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