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

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

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

GridViewSelectEventHandler デリゲートを、プログラムによって GridView コントロールの SelectedIndexChanging イベントに追加する方法を次の例に示します。
<%@ 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.AutoGenerateSelectButton = True authorGridView.AllowPaging = True authorGridView.SelectedIndex = 1 authorGridView.SelectedRowStyle.BackColor = System.Drawing.Color.LightCyan authorGridView.SelectedRowStyle.ForeColor = System.Drawing.Color.DarkBlue authorGridView.SelectedRowStyle.Font.Bold = True ' Programmatically register the event-handling methods. AddHandler authorGridView.SelectedIndexChanged, AddressOf AuthorsGridView_SelectedIndexChanged AddHandler authorGridView.SelectedIndexChanging, AddressOf AuthorsGridView_SelectedIndexChanging ' Add the GridView object to the Controls collection ' of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(authorGridView) End Sub Sub AuthorsGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) ' Get the currently selected row using the SelectedRow property. Dim AuthorsGridView As GridView = CType(sender, GridView) Dim row As GridViewRow = AuthorsGridView.SelectedRow ' Display the author's name from the selected row. ' In this example, the second and third columns contain ' the author's last and first name, respectively. Message.Text = "You selected " & row.Cells(2).Text & _ " " & row.Cells(1).Text & "." End Sub Sub AuthorsGridView_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs) ' Get the currently selected row. Because the SelectedIndexChanging event ' occurs before the select operation in the GridView control, the ' SelectedRow property cannot be used. Instead, use the Rows collection ' and the NewSelectedIndex property of the e argument passed to this ' event handler. Dim AuthorsGridView As GridView = CType(sender, GridView) Dim row As GridViewRow = AuthorsGridView.Rows(e.NewSelectedIndex) ' If the user selects an author with the last name White, ' cancel the selection operation and display an error message. If row.Cells(1).Text = "White" e.Cancel = true Message.Text = "You cannot select " & row.Cells(2).Text & _ " " & row.Cells(1).Text & "." End If End Sub </script> <html> <body> <form runat="server"> <h3>GridViewSelectEventHandler Example</h3> <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_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> <br/> <asp:label id="Message" runat="server"/> </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.AutoGenerateSelectButton = true; authorGridView.AllowPaging = true; authorGridView.SelectedIndex = 1; authorGridView.SelectedRowStyle.BackColor = System.Drawing.Color.LightCyan; authorGridView.SelectedRowStyle.ForeColor = System.Drawing.Color.DarkBlue; authorGridView.SelectedRowStyle.Font.Bold = true; // Programmatically register the event-handling methods. authorGridView.SelectedIndexChanged += new EventHandler(this.AuthorsGridView_SelectedIndexChanged); authorGridView.SelectedIndexChanging += new GridViewSelectEventHandler(this.AuthorsGridView_SelectedIndexChanging); // Add the GridView object to the Controls collection // of the PlaceHolder control. GridViewPlaceHolder.Controls.Add(authorGridView); } void AuthorsGridView_SelectedIndexChanged(Object sender, EventArgs e) { // Get the currently selected row using the SelectedRow property. GridView AuthorsGridView = (GridView)sender; GridViewRow row = AuthorsGridView.SelectedRow; // Display the author's name from the selected row. // In this example, the second and third columns contain // the author's last and first name, respectively. Message.Text = "You selected " + row.Cells[2].Text + " " + row.Cells[1].Text + "."; } void AuthorsGridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e) { // Get the currently selected row. Because the SelectedIndexChanging event // occurs before the select operation in the GridView control, the // SelectedRow property cannot be used. Instead, use the Rows collection // and the NewSelectedIndex property of the e argument passed to this // event handler. GridView AuthorsGridView = (GridView)sender; GridViewRow row = AuthorsGridView.Rows[e.NewSelectedIndex]; // If the user selects an author with the last name White, // cancel the selection operation and display an error message. if(row.Cells[1].Text == "White") { e.Cancel = true; Message.Text = "You cannot select " + row.Cells[2].Text + " " + row.Cells[1].Text + "."; } } </script> <html> <body> <form runat="server"> <h3>GridViewSelectEventHandler Example</h3> <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_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> <br/> <asp:label id="Message" runat="server"/> </form> </body> </html>
GridViewSelectEventHandler デリゲートを、宣言によって GridView コントロールの SelectedIndexChanging イベントに追加する方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) ' Get the currently selected row using the SelectedRow property. Dim row As GridViewRow = CustomersGridView.SelectedRow ' Display the company name from the selected row. ' In this example, the third column (index 2) contains ' the company name. Message.Text = "You selected " & row.Cells(2).Text & "." End Sub Sub CustomersGridView_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs) ' Get the currently selected row. Because the SelectedIndexChanging event ' occurs before the select operation in the GridView control, the ' SelectedRow property cannot be used. Instead, use the Rows collection ' and the NewSelectedIndex property of the e argument passed to this ' event handler. Dim row As GridViewRow = CustomersGridView.Rows(e.NewSelectedIndex) ' You can cancel the select operation by using the Cancel ' property. For this example, if the user selects a customer with ' the ID "ANATR", the select operation is canceled and an error message ' is displayed. If row.Cells(1).Text = "ANATR" Then e.Cancel = True Message.Text = "You cannot select " + row.Cells(2).Text & "." End If End Sub </script> <html> <body> <form runat="server"> <h3>GridView Select Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="true" autogenerateselectbutton="true" allowpaging="true" selectedindex="0" onselectedindexchanged="CustomersGridView_SelectedIndexChanged" onselectedindexchanging="CustomersGridView_SelectedIndexChanging" runat="server"> <selectedrowstyle backcolor="LightCyan" forecolor="DarkBlue" font-bold="true"/> </asp:gridview> <br/> <asp:label id="Message" forecolor="Red" 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]" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e) { // Get the currently selected row using the SelectedRow property. GridViewRow row = CustomersGridView.SelectedRow; // Display the company name from the selected row. // In this example, the third column (index 2) contains // the company name. Message.Text = "You selected " + row.Cells[2].Text + "."; } void CustomersGridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e) { // Get the currently selected row. Because the SelectedIndexChanging event // occurs before the select operation in the GridView control, the // SelectedRow property cannot be used. Instead, use the Rows collection // and the NewSelectedIndex property of the e argument passed to this // event handler. GridViewRow row = CustomersGridView.Rows[e.NewSelectedIndex]; // You can cancel the select operation by using the Cancel // property. For this example, if the user selects a customer with // the ID "ANATR", the select operation is canceled and an error message // is displayed. if (row.Cells[1].Text == "ANATR") { e.Cancel = true; Message.Text = "You cannot select " + row.Cells[2].Text + "."; } } </script> <html> <body> <form runat="server"> <h3>GridView Select Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="true" autogenerateselectbutton="true" allowpaging="true" selectedindex="0" onselectedindexchanged="CustomersGridView_SelectedIndexChanged" onselectedindexchanging="CustomersGridView_SelectedIndexChanging" runat="server"> <selectedrowstyle backcolor="LightCyan" forecolor="DarkBlue" font-bold="true"/> </asp:gridview> <br/> <asp:label id="Message" forecolor="Red" 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]" 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に収録されているすべての辞書からGridViewSelectEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

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