GridView.AutoGenerateColumns Свойство

Определение

Возвращает или задает значение, указывающее, создаются ли привязанные поля для каждого поля в источнике данных.

public:
 virtual property bool AutoGenerateColumns { bool get(); void set(bool value); };
public virtual bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Overridable Property AutoGenerateColumns As Boolean

Значение свойства

true для автоматического создания привязанных полей для каждого поля в источнике данных; falseв противном случае . Значение по умолчанию — true.

Примеры

В следующем примере показано, как использовать AutoGenerateColumns свойство для автоматического создания столбцов ограничивающего поля в элементе GridView управления для каждого поля в источнике данных.

<asp:sqldatasource id="CustomersSource"
  selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
  connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>" 
  runat="server"/>

<asp:gridview id="CustomersGridView" 
  datasourceid="CustomersSource" 
  autogeneratecolumns="False"
  emptydatatext="No data available." 
  allowpaging="True" 
  runat="server" DataKeyNames="CustomerID">
    <Columns>
        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" 
            InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
        <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
            SortExpression="CompanyName" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
            SortExpression="FirstName" />
        <asp:BoundField DataField="LastName" HeaderText="LastName" 
            SortExpression="LastName" />
    </Columns>
</asp:gridview>
<asp:sqldatasource id="CustomersSource"
  selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
  connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>" 
  runat="server"/>

<asp:gridview id="CustomersGridView" 
  datasourceid="CustomersSource" 
  autogeneratecolumns="False"
  emptydatatext="No data available." 
  allowpaging="True" 
  runat="server" DataKeyNames="CustomerID">
    <Columns>
        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" 
            InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
        <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
            SortExpression="CompanyName" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
            SortExpression="FirstName" />
        <asp:BoundField DataField="LastName" HeaderText="LastName" 
            SortExpression="LastName" />
    </Columns>
</asp:gridview>

Комментарии

AutoGenerateColumns Если для свойства задано trueзначение, AutoGeneratedField объект автоматически создается для каждого поля в источнике данных. Затем каждое поле отображается в качестве столбца в элементе управления в GridView том порядке, в котором поля отображаются в источнике данных. Этот параметр предоставляет удобный способ отображения каждого поля в источнике данных; однако у вас есть ограниченный контроль над отображением или поведением поля автоматически созданного столбца.

Вместо GridView автоматического создания полей столбца элемент управления можно вручную определить поля столбцов, задав свойству AutoGenerateColumns значение false и создав настраиваемую Columns коллекцию. Помимо привязанных полей столбцов, можно также отобразить поле столбца кнопки, поле столбца флажка, поле команды, поле гиперссылки, поле изображения или поле столбца на основе собственного настраиваемого шаблона.

Можно также объединить явно объявленные поля столбцов с автоматически созданными полями столбцов. При использовании оба поля явно объявленных столбцов отображаются сначала, а затем автоматически созданные поля столбцов. Автоматически созданные поля привязанного столбца не добавляются в коллекцию Columns . Дополнительные сведения см. в разделе Columns.

Если задать это свойство true и задать ItemType для свойства тип модели, DynamicField создаются элементы управления. Если свойство не задано ItemType , BoundField создаются элементы управления. Если элементы управления не нужны DynamicField , у вас есть следующие параметры:

  • ColumnsGenerator Задайте для свойства null значение в обработчике Page_Load событий. В этом случае BoundField создаются элементы управления.

  • Напишите пользовательский код для автоматического создания полей, создав и назначив собственный ColumnsGenerator класс и назначив экземпляр элемента управления.

  • Задайте для параметра AutoGenerateColumns значение false. В этом случае поля не создаются, и необходимо вручную указать поля с помощью таких элементов управления, как BoundField или ImageField.

  • Не устанавливайте ItemType свойство. В этом случае BoundField создаются элементы управления.

Применяется к

См. также раздел