Sdílet prostřednictvím


GridView.AutoGenerateColumns Vlastnost

Definice

Získá nebo nastaví hodnotu označující, zda jsou vázaná pole automaticky vytvořena pro každé pole ve zdroji dat.

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

Hodnota vlastnosti

trueautomaticky vytvořit svázaná pole pro každé pole ve zdroji dat; v opačném případě . false Výchozí formát je true.

Příklady

Následující příklad ukazuje, jak použít AutoGenerateColumns vlastnost k automatickému vytvoření vázaných sloupců pole v ovládacím GridView prvku pro každé pole ve zdroji dat.

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

Poznámky

Pokud je vlastnost nastavená AutoGenerateColumns na true, AutoGeneratedField objekt se automaticky vytvoří pro každé pole ve zdroji dat. Každé pole se pak zobrazí jako sloupec v ovládacím GridView prvku v pořadí, v jakém se pole zobrazují ve zdroji dat. Tato možnost poskytuje pohodlný způsob, jak zobrazit všechna pole ve zdroji dat; Máte však omezenou kontrolu nad tím, jak se automaticky generované sloupcové pole zobrazí nebo jak se chová.

Místo toho, aby ovládací prvek nechal GridView pole sloupců automaticky generovat, můžete pole sloupců definovat ručně nastavením AutoGenerateColumns vlastnosti na false a následným vytvořením vlastní Columns kolekce. Kromě vázaných sloupcových polí můžete také zobrazit sloupcové pole tlačítka, sloupcové pole zaškrtávacího políčka, pole příkazu, sloupcové pole hypertextového odkazu, pole obrázku nebo sloupcové pole založené na vlastní šabloně.

Explicitně deklarovaná sloupcová pole můžete také kombinovat s automaticky vygenerovanými sloupcovými poli. Při použití obou se nejprve vykreslí explicitně deklarovaná sloupcová pole a potom automaticky vygenerovaná sloupcová pole. Automaticky generovaná vázaná sloupcová pole se do Columns kolekce nepřidají. Další informace naleznete v tématu Columns.

Pokud tuto vlastnost nastavíte na true a nastavíte ItemType vlastnost na typ modelu, DynamicField vygenerují se ovládací prvky. Pokud vlastnost nenastavíte ItemType , BoundField vygenerují se ovládací prvky. Pokud ovládací prvky nechcete DynamicField , máte následující možnosti:

  • V obslužné rutině ColumnsGenerator události nastavte vlastnost na nullPage_Load . V takovém případě se BoundField vygenerují ovládací prvky.

  • Napište vlastní kód pro automatické generování polí vytvořením a přiřazením vlastní ColumnsGenerator třídy a přiřazením instance této třídy k ovládacímu prvku.

  • Nastavte AutoGenerateColumns na hodnotu false. V takovém případě se negenerují žádná pole a musíte je zadat ručně pomocí ovládacích prvků, jako BoundField je nebo ImageField.

  • Nenastavujte ItemType vlastnost . V takovém případě se BoundField vygenerují ovládací prvky.

Platí pro

Viz také