DataGrid.AutoGenerateColumns Eigenschaft

Definition

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

Gilt für:

Weitere Informationen