GridView.AutoGenerateSelectButton Property

Gets or sets a value indicating whether a CommandField field column with a Select button for each data row is automatically added to a GridView control.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public virtual bool AutoGenerateSelectButton { get; set; }
/** @property */
public boolean get_AutoGenerateSelectButton ()

/** @property */
public void set_AutoGenerateSelectButton (boolean value)

public function get AutoGenerateSelectButton () : boolean

public function set AutoGenerateSelectButton (value : boolean)

Not applicable.

Property Value

true to automatically add a CommandField field column with a Select button for each data row; otherwise, false. The default is false.

When the AutoGenerateSelectButton property is set to true, a column (represented by a CommandField object) with a Select button for each data row is automatically added to the GridView control. Clicking the Select button for a row selects that row in the control, which sets the SelectedIndex property to the index of the row. To retrieve the GridViewRow object that represents the selected row, use the SelectedRow property. You can also get the primary key value for the selected record by using the SelectedValue property. The SelectedValue property contains the values of the key fields specified in the DataKeyNames property.


You can programmatically select a row by setting the SelectedIndex property. To cancel the selection of a row, set the SelectedIndex property to -1.

You can control the appearance of the selected row by using the SelectedRowStyle property. Common settings usually include a custom background color, foreground color, and font properties.

The GridView control provides several events that you can use to perform a custom action when a row is selected. The following table lists the available events.




Occurs when a row's Select button is clicked, but after the GridView control handles the select operation. This event is often used to perform a task after a row is selected in the control.


Occurs when a row's Select button is clicked, but before the GridView control handles the select operation. This event is often used to cancel the selection operation.

The following code example demonstrates how to use the AutoGenerateSelectButton property to enable the automatic selection feature of the GridView control.

<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<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 + ".";


<html xmlns="" >
  <head runat="server">
    <title>GridView Select Example</title>
    <form id="form1" runat="server">
     <h3>GridView Select Example</h3>

     <asp:gridview id="CustomersGridView" 
       <selectedrowstyle backcolor="LightCyan"
      <asp:label id="Message"
      <!-- 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%>" 

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0