GridView.SelectedRowStyle Property
Gets a reference to the TableItemStyle object that enables you to set the appearance of the selected row in a GridView control.
Assembly: System.Web (in System.Web.dll)
<PersistenceModeAttribute(PersistenceMode.InnerProperty)> Public ReadOnly Property SelectedRowStyle As TableItemStyle
Property Value
Type: System.Web.UI.WebControls.TableItemStyleA reference to the TableItemStyle that represents the style of the selected row in a GridView control.
Use the SelectedRowStyle property to control the appearance of the selected row in a GridView control. This property is read-only; however, you can set the properties of the TableItemStyle object it returns. The properties can be set declaratively using one of the following methods:
Place an attribute in the opening tag of the GridView control in the form Property-Subproperty, where Subproperty is a property of the TableItemStyle object (for example, SelectedRowStyle-ForeColor).
Nest a <SelectedRowStyle> element between the opening and closing tags of the GridView control.
The properties can also be set programmatically in the form Property.Subproperty (for example, SelectedRowStyle.ForeColor). Common settings usually include a custom background color, foreground color, and font properties.
The following example demonstrates how to use the SelectedRowStyle property to define a custom style for the selected row in a GridView control.
<%@ Page language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <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 first name from the selected row. ' In this example, the third column (index 2) contains ' the first name. MessageLabel.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 MessageLabel.Text = "You cannot select " + row.Cells(2).Text & "." End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>GridView Select Example</title> </head> <body> <form id="form1" runat="server"> <h3>GridView Select Example</h3> <asp:gridview id="CustomersGridView" datasourceid="CustomersSource" autogeneratecolumns="False" autogenerateselectbutton="True" selectedindex="1" onselectedindexchanged="CustomersGridView_SelectedIndexChanged" onselectedindexchanging="CustomersGridView_SelectedIndexChanging" runat="server" DataKeyNames="CustomerID"> <Columns> <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" /> <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" /> <asp:BoundField DataField="MiddleName" HeaderText="MiddleName" SortExpression="MiddleName" /> <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" /> <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" /> </Columns> <selectedrowstyle backcolor="LightCyan" forecolor="DarkBlue" font-bold="true"/> </asp:gridview> <br/> <asp:label id="MessageLabel" forecolor="Red" runat="server"/> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the 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, FirstName, MiddleName, LastName, Phone FROM SalesLT.Customer" connectionstring="<%$ ConnectionStrings:AdventureWorksLTConnectionString %>" runat="server"/> </form> </body> </html>
Available since 2.0