GridView.AutoGenerateColumns Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob für jedes Feld in der Datenquelle automatisch gebundene Felder erstellt werden, oder legt diesen Wert fest.

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

Eigenschaftswert

true, um gebundene Felder für jedes Feld in der Datenquelle automatisch zu erstellen, andernfalls false. Der Standardwert ist true.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die AutoGenerateColumns -Eigenschaft verwendet wird, um automatisch gebundene Feldspalten in einem GridView Steuerelement für jedes Feld in der Datenquelle zu erstellen.

<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>

Hinweise

Wenn die AutoGenerateColumns -Eigenschaft auf truefestgelegt ist, wird automatisch ein AutoGeneratedField -Objekt für jedes Feld in der Datenquelle erstellt. Jedes Feld wird dann als Spalte im Steuerelement in der GridView Reihenfolge angezeigt, in der die Felder in der Datenquelle angezeigt werden. Diese Option bietet eine bequeme Möglichkeit, jedes Feld in der Datenquelle anzuzeigen. Sie haben jedoch eingeschränkte Kontrolle darüber, wie ein automatisch generiertes Spaltenfeld angezeigt wird oder sich verhält.

Anstatt das Steuerelement die GridView Spaltenfelder automatisch generieren zu lassen, können Sie die Spaltenfelder manuell definieren, indem Sie die AutoGenerateColumns -Eigenschaft auf false festlegen und dann eine benutzerdefinierte Columns Auflistung erstellen. Zusätzlich zu gebundenen Spaltenfeldern können Sie auch ein Schaltflächenspaltenfeld, ein Kontrollkästchenspaltenfeld, ein Befehlsfeld, ein Linkspaltenfeld, ein Bildfeld oder ein Spaltenfeld basierend auf Ihrer eigenen benutzerdefinierten Vorlage anzeigen.

Sie können auch explizit deklarierte Spaltenfelder mit automatisch generierten Spaltenfeldern kombinieren. Wenn beide verwendet werden, werden zuerst explizit deklarierte Spaltenfelder gerendert, gefolgt von den automatisch generierten Spaltenfeldern. Automatisch generierte gebundene Spaltenfelder werden der Columns Auflistung nicht hinzugefügt. Weitere Informationen finden Sie unter Columns.

Wenn Sie diese Eigenschaft auf true und die ItemType Eigenschaft auf einen Modelltyp festlegen, DynamicField werden Steuerelemente generiert. Wenn Sie die ItemType -Eigenschaft nicht festlegen, BoundField werden Steuerelemente generiert. Wenn Sie keine Steuerelemente möchten DynamicField , haben Sie die folgenden Optionen:

  • Legen Sie die ColumnsGenerator -Eigenschaft im Ereignishandler auf nullPage_Load fest. In diesem Fall BoundField werden Steuerelemente generiert.

  • Schreiben Sie benutzerdefinierten Code, um Felder automatisch zu generieren, indem Sie Ihre eigene ColumnsGenerator Klasse erstellen und zuweisen und dem Steuerelement eine Instanz davon zuweisen.

  • Legen Sie AutoGenerateColumns auf false fest. In diesem Fall werden keine Felder generiert, und Sie müssen Felder manuell mithilfe von Steuerelementen wie BoundField oder ImageFieldangeben.

  • Legen Sie die ItemType-Eigenschaft nicht fest. In diesem Fall BoundField werden Steuerelemente generiert.

Gilt für:

Weitere Informationen