GridView.AutoGenerateColumns Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se per ogni campo dell'origine dati vengono creati automaticamente campi associati.
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
Valore della proprietà
true
per creare automaticamente campi associati per ogni campo dell'origine dati, altrimenti false
. Il valore predefinito è true
.
Esempio
Nell'esempio seguente viene illustrato come usare la AutoGenerateColumns proprietà per creare automaticamente colonne di campo associate in un GridView controllo per ogni campo nell'origine dati.
<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>
Commenti
Quando la AutoGenerateColumns proprietà è impostata su true
, viene creato automaticamente un AutoGeneratedField oggetto per ogni campo nell'origine dati. Ogni campo viene quindi visualizzato come colonna nel controllo nell'ordine GridView in cui i campi vengono visualizzati nell'origine dati. Questa opzione offre un modo pratico per visualizzare ogni campo nell'origine dati; tuttavia, è disponibile un controllo limitato sulla modalità di visualizzazione o comportamento di un campo di colonna generato automaticamente.
Anziché consentire al GridView controllo di generare automaticamente i campi di colonna, è possibile definire manualmente i campi di colonna impostando la AutoGenerateColumns proprietà su false
e quindi creando una raccolta personalizzata Columns
. Oltre ai campi di colonna associati, è anche possibile visualizzare un campo colonna pulsante, un campo colonna casella di controllo, un campo di comando, un campo colonna collegamento ipertestuale, un campo immagine o un campo di colonna basato sul modello definito personalizzato.
È anche possibile combinare campi di colonna dichiarati in modo esplicito con campi di colonna generati automaticamente. Quando vengono usati entrambi, i campi di colonna dichiarati in modo esplicito vengono visualizzati prima, seguiti dai campi di colonna generati automaticamente. I campi di colonna associati generati automaticamente non vengono aggiunti alla Columns raccolta. Per altre informazioni, vedere Columns.
Se si imposta questa proprietà su true
e si imposta la ItemType proprietà su un tipo di modello, DynamicField vengono generati i controlli. Se non si imposta la ItemType proprietà, BoundField vengono generati i controlli. Se non si vogliono DynamicField controlli, sono disponibili le opzioni seguenti:
Impostare la ColumnsGenerator proprietà su
null
nelPage_Load
gestore eventi. In tal caso, BoundField i controlli vengono generati.Scrivere codice personalizzato per generare automaticamente i campi creando e assegnando una classe personalizzata ColumnsGenerator e assegnandole un'istanza al controllo.
Impostare AutoGenerateColumns su
false
. In questo caso, non vengono generati campi e è necessario specificare manualmente i campi usando controlli come BoundField o ImageField.Non impostare la proprietà ItemType. In tal caso, BoundField i controlli vengono generati.