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 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
true
automaticky 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
null
Page_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.