DetailsView.AutoGenerateRows Property


Gets or sets a value indicating whether row fields for each field in the data source are automatically generated and displayed in a DetailsView control.

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

public virtual bool AutoGenerateRows { get; set; }

Property Value

Type: System.Boolean

true to display automatically generated bound row fields for each field in the data source; otherwise, false. The default is true.

Each data row in the DetailsView control is represented by a row field. When the AutoGenerateRows property is set to true, an automatically generated bound row field is created for each field in the data source. Each field is then displayed in a row as text, in the order in which each field appears in the data source.


Automatically generated bound row fields are not added to the Fields collection.

Automatically generating the rows provides a quick and easy way to display every field in the record. However, to make use of the DetailsView control's advanced capabilities you must explicitly declare the row fields to include in the DetailsView control. For more information, see Fields.


Explicitly declared row fields can be used in combination with automatically generated row fields. When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields.

The value of AutoGenerateRows is stored in view state.

The following code example demonstrates how to use the AutoGenerateRows property to automatically create bound row fields for each field in the data source.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" >
  <head runat="server">
    <title>DetailsView AutoGenerateRows Example</title>
    <form id="Form1" runat="server">

      <h3>DetailsView AutoGenerateRows Example</h3>

        <asp:detailsview id="CustomerDetailView"

          <headerstyle backcolor="Navy"


        <!-- 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="DetailsViewSource" runat="server" 
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID], 
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] 
            From [Customers]">

.NET Framework
Available since 2.0
Return to top