GridView.AutoGenerateColumns Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veri kaynağındaki her alan için ilişkili alanların otomatik olarak oluşturulup oluşturulmadığını belirten bir değer alır veya ayarlar.
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
Özellik Değeri
true veri kaynağındaki her alan için otomatik olarak ilişkili alanlar oluşturmak; aksi takdirde , false. Varsayılan değer: true.
Örnekler
Aşağıdaki örnekte, veri kaynağındaki AutoGenerateColumns her alan için bir GridView denetimde otomatik olarak ilişkili alan sütunları oluşturmak için özelliğinin nasıl kullanılacağı gösterilmektedir.
<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>
Açıklamalar
AutoGenerateColumns özelliği olarak trueayarlandığında, veri kaynağındaki her alan için otomatik olarak bir AutoGeneratedField nesne oluşturulur. Ardından her alan, verilerin veri kaynağında GridView göründüğü sırayla denetimde bir sütun olarak görüntülenir. Bu seçenek, veri kaynağındaki her alanı görüntülemek için kullanışlı bir yol sağlar; ancak, otomatik olarak oluşturulan bir sütun alanının nasıl görüntüleneceği veya nasıl davranacağını sınırlı denetime sahip olursunuz.
Denetimin GridView sütun alanlarını otomatik olarak oluşturmasına izin vermek yerine, özelliğini false olarak ayarlayarak AutoGenerateColumns ve ardından özel Columns bir koleksiyon oluşturarak sütun alanlarını el ile tanımlayabilirsiniz. İlişkili sütun alanlarına ek olarak, kendi özel tanımlı şablonunuzu temel alan bir düğme sütun alanı, onay kutusu sütun alanı, komut alanı, köprü sütun alanı, resim alanı veya sütun alanı da görüntüleyebilirsiniz.
Ayrıca açıkça bildirilen sütun alanlarını otomatik olarak oluşturulan sütun alanlarıyla birleştirebilirsiniz. Her ikisi de kullanıldığında, açıkça bildirilen sütun alanları önce işlenir, ardından otomatik olarak oluşturulan sütun alanları gelir. Otomatik olarak oluşturulan ilişkili sütun alanları koleksiyona Columns eklenmez. Daha fazla bilgi için bkz. Columns.
Bu özelliği olarak true ayarlar ve özelliği bir model türüne ItemType ayarlarsanız denetimler DynamicField oluşturulur. Özelliğini ayarlamazsanız ItemType denetimler BoundField oluşturulur. Denetimleri istemiyorsanız DynamicField aşağıdaki seçeneklere sahip olursunuz:
ColumnsGenerator olay işleyicisinde
Page_Loadözelliğini olaraknullayarlayın. Bu durumda denetimler BoundField oluşturulur.Kendi ColumnsGenerator sınıfınızı oluşturup atayarak ve denetime bunun bir örneğini atayarak alanları otomatik olarak oluşturmak için özel kod yazın.
AutoGenerateColumns seçeneğini
falseolarak ayarlayın. Bu durumda, hiçbir alan oluşturulmaz ve veya ImageFieldgibi BoundField denetimleri kullanarak alanları el ile belirtmeniz gerekir.özelliğini ayarlamayın ItemType . Bu durumda denetimler BoundField oluşturulur.