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 TableItemStyle SelectedRowStyle { get; }
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="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <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 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 + "."; } 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; MessageLabel.Text = "You cannot select " + row.Cells[2].Text + "."; } } </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