Note: This event is new in the .NET Framework version 2.0.
Occurs when a row's Select button is clicked, but before the
GridView control handles the select operation.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Visual Basic (Declaration)
Public Event SelectedIndexChanging As GridViewSelectEventHandler
Dim instance As GridView
Dim handler As GridViewSelectEventHandler
AddHandler instance.SelectedIndexChanging, handler
public event GridViewSelectEventHandler SelectedIndexChanging
public:
event GridViewSelectEventHandler^ SelectedIndexChanging {
void add (GridViewSelectEventHandler^ value);
void remove (GridViewSelectEventHandler^ value);
}
/** @event */
public void add_SelectedIndexChanging (GridViewSelectEventHandler value)
/** @event */
public void remove_SelectedIndexChanging (GridViewSelectEventHandler value)
JScript supports the use of events, but not the declaration of new ones.
The SelectedIndexChanging event is raised when a row's Select button is clicked, but before the GridView control handles the select operation. This allows you to provide an event-handling method that performs a custom routine, such as canceling the selection operation, whenever this event occurs.
Note |
|---|
| This event is not raised when you programmatically set the SelectedIndex property. |
A GridViewSelectEventArgs object is passed to the event-handling method, which allows you to determine the index of the row selected by the user and to indicate that the selection operation should be canceled. To cancel the selection operation, set the Cancel property of the GridViewSelectEventArgs object to true.
For more information about handling events, see Consuming Events.
The following code example demonstrates how to use the SelectedIndexChanging event to cancel a select operation.
<%@ 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.
.NET Framework
Supported in: 2.0