DataGrid.AutoGenerateColumns 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值表示是否會自動建立資料行。
public:
property bool AutoGenerateColumns { bool get(); void set(bool value); };
public bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Property AutoGenerateColumns As Boolean
屬性值
如果會自動建立資料行,則為 true
,否則為 false
。 已註冊的預設值是 true
。 如需哪些因素會影響值的詳細資訊,請參閱 DependencyProperty。
範例
下列範例示範如何在事件處理常式中 AutoGeneratingColumn 自動產生資料行,並在建立時變更資料行。
<!-- The DataGrid.DataContext is a DataTable that contains a list of customers. The DataTable columns are
Title, FirstName, MiddleName, LastName, Suffix, CompanyName, EmailAddress, and Phone.-->
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="True" AutoGeneratingColumn="DG1_AutoGeneratingColumn" />
//Access and update columns during autogeneration
private void DG1_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
string headername = e.Column.Header.ToString();
//Cancel the column you don't want to generate
if (headername == "MiddleName")
{
e.Cancel = true;
}
//update column details when generating
if (headername == "FirstName")
{
e.Column.Header = "First Name";
}
else if (headername == "LastName")
{
e.Column.Header = "Last Name";
}
else if (headername == "EmailAddress")
{
e.Column.Header = "Email";
}
}
'Access and update columns during autogeneration
Private Sub DG1_AutoGeneratingColumn(ByVal sender As Object, ByVal e As DataGridAutoGeneratingColumnEventArgs)
Dim headername As String = e.Column.Header.ToString()
'Cancel the column you don't want to generate
If headername = "MiddleName" Then
e.Cancel = True
End If
'update column details when generating
If headername = "FirstName" Then
e.Column.Header = "First Name"
ElseIf headername = "LastName" Then
e.Column.Header = "Last Name"
ElseIf headername = "EmailAddress" Then
e.Column.Header = "Email"
End If
End Sub
備註
將 設定 AutoGenerateColumns 為 true
或 建立或 false
移除自動產生的資料行。
AutoGenerateColumns當 屬性設定為 true
時, AutoGeneratingColumn 將會針對所建立的每個資料行引發 事件。 您可以變更或取消事件處理常式中建立的資料 AutoGeneratingColumn 行。
當所有資料行自動產生完成時,就會 AutoGeneratedColumns 引發 事件。
注意
DataGrid 當來源為 XML 資料時,無法自動產生資料行。 在此情況下,請建立自訂 Columns 集合。 如需範例,請參閱 DataGridTextColumn。