DataGrid.AutoGenerateColumns Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur nilai yang menunjukkan apakah BoundColumn objek dibuat dan ditampilkan secara otomatis dalam DataGrid kontrol 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 jika BoundColumn objek secara otomatis dibuat dan ditampilkan; jika tidak, false. Nilai defaultnya adalah true.
Contoh
Contoh kode berikut menunjukkan cara menggunakan AutoGenerateColumns properti untuk membuat BoundColumn objek secara otomatis untuk setiap bidang di sumber data.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Need to load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
</script>
<head runat="server">
<title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid AutoGenerateColumns Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " & i.ToString()
dr(2) = 1.23 *(i + 1)
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
' Need to load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
</script>
<head runat="server">
<title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataGrid AutoGenerateColumns Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="true"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
</asp:DataGrid>
</form>
</body>
</html>
Keterangan
Gunakan properti ini untuk membuat BoundColumn objek secara otomatis untuk setiap bidang di sumber data. Setiap bidang kemudian dirender sebagai kolom dalam DataGrid kontrol dalam urutan bidang muncul di sumber data.
Tidak semua jenis data dapat terikat ke DataGrid kontrol. Jika bidang berisi tipe data yang tidak didukung, kolom tidak dibuat untuk bidang tersebut. Jika sumber data hanya berisi satu kolom dengan jenis data yang tidak didukung, pengecualian akan dilemparkan. Tabel berikut ini memperlihatkan tipe data yang bisa terikat ke kontrol.
| Jenis Data | Deskripsi |
|---|---|
| Primitif | Jenis data primitif, seperti System.Int32, , CharDouble, dan sebagainya. Untuk daftar lengkapnya, lihat Type.IsPrimitive. |
| string | Objek System.String. |
| DateTime | Objek System.DateTime. |
| Desimal | Objek System.Decimal. |
Nota
Kolom yang dideklarasikan secara eksplisit dapat digunakan bersama dengan kolom yang dihasilkan secara otomatis. Saat menggunakan keduanya, kolom yang dinyatakan secara eksplisit akan dirender terlebih dahulu, diikuti oleh kolom yang dihasilkan secara otomatis. Kolom yang dibuat secara otomatis tidak ditambahkan ke Columns koleksi.