Sdílet prostřednictvím


GridView.AutoGenerateColumns Vlastnost

Definice

Získá nebo nastaví hodnotu označující, zda jsou svá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 vytvářet svázaná pole pro každé pole ve zdroji dat; v opačném případě . false Výchozí hodnota je true.

Příklady

Následující příklad ukazuje, jak pomocí AutoGenerateColumns vlastnosti automaticky vytvořit vázané sloupce 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 nastavena 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 každé pole ve zdroji dat; Máte však omezenou kontrolu nad tím, jak se automaticky vygenerované pole sloupce zobrazuje nebo chová.

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

Můžete také kombinovat explicitně deklarovaná pole sloupců s automaticky generovanými sloupcovými poli. Při použití obou polí se explicitně deklarovaná pole sloupců vykreslí jako první a za nimi automaticky vygenerovaná pole sloupců. Automaticky generovaná vázaná pole sloupců se do Columns kolekce nepřidají. Další informace najdete na webu Columns.

Pokud tuto vlastnost nastavíte na true typ modelu a nastavíte ji ItemType 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:

  • ColumnsGenerator Nastavte vlastnost na null obslužnou rutinu Page_Load události. V takovém případě BoundField se 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 ovládacího prvku.

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

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

Platí pro

Viz také