DataGrid.AutoGenerateColumns Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob BoundColumn-Objekte im DataGrid-Steuerelement für jedes Feld in der Datenquelle automatisch erstellt und angezeigt werden, oder legt diesen fest.
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
Eigenschaftswert
true
, wenn BoundColumn-Objekte automatisch erstellt und angezeigt werden, andernfalls false
. Der Standardwert ist true
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Die AutoGenerateColumns -Eigenschaft verwendet wird, um automatisch ein BoundColumn Objekt für jedes Feld in der Datenquelle zu erstellen.
<%@ 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>
Hinweise
Verwenden Sie diese Eigenschaft, um automatisch ein BoundColumn Objekt für jedes Feld in der Datenquelle zu erstellen. Jedes Feld wird dann als Spalte im Steuerelement in der DataGrid Reihenfolge gerendert, in der die Felder in der Datenquelle angezeigt werden.
Nicht alle Datentypen können an das DataGrid Steuerelement gebunden werden. Wenn ein Feld einen nicht unterstützten Datentyp enthält, wird für dieses Feld keine Spalte erstellt. Wenn die Datenquelle nur eine Spalte mit einem nicht unterstützten Datentyp enthält, wird eine Ausnahme ausgelöst. Die folgende Tabelle zeigt die Datentypen, die an das Steuerelement gebunden werden können.
Datentyp | BESCHREIBUNG |
---|---|
Grundtypen | Ein primitiver Datentyp, z System.Int32. B. , Char, Doubleusw. Eine vollständige Liste finden Sie unter Type.IsPrimitive. |
String | Ein System.String-Objekt. |
Datetime | Ein System.DateTime-Objekt. |
Decimal | Ein System.Decimal-Objekt. |
Hinweis
Explizit deklarierte Spalten können in Verbindung mit automatisch generierten Spalten verwendet werden. Bei Verwendung beider werden explizit deklarierte Spalten zuerst gerendert, gefolgt von den automatisch generierten Spalten. Automatisch generierte Spalten werden der Columns Auflistung nicht hinzugefügt.