GridView.AutoGenerateColumns Özellik

Tanım

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 için; 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. Daha sonra her alan, denetimde alanların veri kaynağında GridView görünme sırasına göre 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 davranacakları konusunda sınırlı denetime sahip olursunuz.

Denetimin GridView sütun alanlarını otomatik olarak oluşturmasına izin vermek yerine, özelliğini false olarak ayarlayıp AutoGenerateColumns özel Columns bir koleksiyon oluşturarak sütun alanlarını el ile tanımlayabilirsiniz. İlişkili sütun alanlarına ek olarak, düğme sütun alanını, onay kutusu sütun alanını, komut alanını, köprü sütun alanını, görüntü alanını veya kendi özel tanımlı şablonunuzu temel alan bir sütun alanını 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 ve 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 ayarlarsanız ItemType 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 olarak null ayarlayın. Bu durumda denetimler BoundField oluşturulur.

  • Kendi ColumnsGenerator sınıfınızı oluşturup atayarak ve bunun bir örneğini denetime atayarak alanları otomatik olarak oluşturmak için özel kod yazın.

  • AutoGenerateColumns seçeneğini false olarak 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.

Şunlara uygulanır

Ayrıca bkz.