Assembly: System.Web (in system.web.dll)
Public Event SelectedIndexChanged As EventHandler
Dim instance As GridView Dim handler As EventHandler AddHandler instance.SelectedIndexChanged, handler
public event EventHandler SelectedIndexChanged
public: event EventHandler^ SelectedIndexChanged { void add (EventHandler^ value); void remove (EventHandler^ value); }
/** @event */ public void add_SelectedIndexChanged (EventHandler value) /** @event */ public void remove_SelectedIndexChanged (EventHandler value)
JScript supports the use of events, but not the declaration of new ones.
The SelectedIndexChanged event is raised when a row's Select button is clicked, but after the GridView control handles the select operation. This allows you to provide an event-handling method that performs a custom routine, such as updating a status label with the currently selected row, whenever this event occurs.
For more information about handling events, see Consuming Events.
The following code example demonstrates how to use the SelectedIndexChanged event to display the name of the customer in the selected row of the GridView control.
<%@ 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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.