Bagikan melalui


GridView.AutoGenerateColumns Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah bidang terikat secara otomatis dibuat untuk setiap bidang di sumber data.

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

Nilai Properti

true untuk membuat bidang terikat secara otomatis untuk setiap bidang di sumber data; jika tidak, false. Defaultnya adalah true.

Contoh

Contoh berikut menunjukkan cara menggunakan AutoGenerateColumns properti untuk membuat kolom bidang terikat secara otomatis dalam GridView kontrol untuk setiap bidang di sumber data.

<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>

Keterangan

AutoGenerateColumns Saat properti diatur ke true, AutoGeneratedField objek secara otomatis dibuat untuk setiap bidang di sumber data. Setiap bidang kemudian ditampilkan sebagai kolom dalam GridView kontrol dalam urutan bidang muncul di sumber data. Opsi ini menyediakan cara mudah untuk menampilkan setiap bidang di sumber data; namun, Anda memiliki kontrol terbatas tentang bagaimana bidang kolom yang dihasilkan secara otomatis ditampilkan atau berulah.

Alih-alih membiarkan GridView kontrol secara otomatis menghasilkan bidang kolom, Anda dapat menentukan bidang kolom secara manual dengan mengatur properti ke AutoGenerateColumnsfalse lalu membuat koleksi kustom Columns . Selain bidang kolom terikat, Anda juga bisa menampilkan bidang kolom tombol, bidang kolom kotak centang, bidang perintah, bidang kolom hyperlink, bidang gambar, atau bidang kolom berdasarkan templat yang ditentukan kustom Anda sendiri.

Anda juga dapat menggabungkan bidang kolom yang dideklarasikan secara eksplisit dengan bidang kolom yang dihasilkan secara otomatis. Saat keduanya digunakan, bidang kolom yang dinyatakan secara eksplisit dirender terlebih dahulu, diikuti oleh bidang kolom yang dihasilkan secara otomatis. Bidang kolom terikat yang dihasilkan secara otomatis tidak ditambahkan ke Columns koleksi. Untuk informasi selengkapnya, lihat Columns .

Jika Anda mengatur properti ini ke true dan mengatur ItemType properti ke jenis model, DynamicField kontrol akan dihasilkan. Jika Anda tidak mengatur ItemType properti, BoundField kontrol akan dihasilkan. Jika Anda tidak menginginkan DynamicField kontrol, Anda memiliki opsi berikut:

  • Atur properti ke ColumnsGeneratornull di Page_Load penanganan aktivitas. Dalam hal ini, BoundField kontrol dihasilkan.

  • Tulis kode kustom untuk membuat bidang secara otomatis dengan membuat dan menetapkan kelas Anda sendiri ColumnsGenerator dan menetapkan instansnya ke kontrol.

  • Atur AutoGenerateColumns ke false. Dalam hal ini, tidak ada bidang yang dihasilkan, dan Anda harus menentukan bidang secara manual menggunakan kontrol seperti BoundField atau ImageField.

  • Jangan atur ItemType properti. Dalam hal ini, BoundField kontrol dihasilkan.

Berlaku untuk

Lihat juga