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 die Spalten automatisch erstellt werden, oder legt ihn fest.
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
Eigenschaftswert
true
, wenn Spalten automatisch erstellt werden, andernfalls false
. Der registrierte Standardwert ist true
. Weitere Informationen zu Einflüssen auf diesen Wert finden Sie unter DependencyProperty.
Beispiele
Das folgende Beispiel zeigt, wie Spalten automatisch generiert und die Spalten beim Erstellen im AutoGeneratingColumn Ereignishandler geändert werden.
<!-- 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
Hinweise
Wenn Sie auf oder false
festlegenAutoGenerateColumns, true
werden automatisch generierte Spalten erstellt oder entfernt. Wenn die AutoGenerateColumns -Eigenschaft auf true
festgelegt ist, wird das AutoGeneratingColumn -Ereignis für jede erstellte Spalte ausgelöst. Sie können die im Ereignishandler erstellte AutoGeneratingColumn Spalte ändern oder abbrechen.
Wenn die automatische Generierung aller Spalten abgeschlossen ist, wird das AutoGeneratedColumns -Ereignis ausgelöst.
Hinweis
DataGrid Spalten können nicht automatisch generiert werden, wenn die Quelle XML-Daten ist. Erstellen Sie in diesem Fall eine benutzerdefinierte Columns Sammlung. Ein Beispiel finden Sie unter DataGridTextColumn.