GridView.AutoGenerateColumns Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
nullobslužnou rutinuPage_Loadudá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.