DataGrid.AutoGenerateColumns Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die Spalten automatisch erstellt werden, oder legt ihn fest.Gets or sets a value that indicates whether the columns are created automatically.

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.true if columns are created automatically; otherwise, false. Der registrierte Standardwert ist true.The registered default is true. Weitere Informationen zu Einflüssen auf diesen Wert finden Sie unter DependencyProperty.For more information about what can influence the value, see DependencyProperty.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Spalten automatisch generiert und die Spalten zum Zeitpunkt der Erstellung im AutoGeneratingColumn -Ereignishandler geändert werden.The following example shows how to auto-generate columns and change the columns at creation time in the AutoGeneratingColumn event handler.

<!-- 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

Durch AutoGenerateColumns festlegen true von false auf oder werden automatisch generierte Spalten erstellt oder entfernt.Setting AutoGenerateColumns to true or false creates or removes auto-generated columns. Wenn die AutoGenerateColumns -Eigenschaft auf truefestgelegt ist AutoGeneratingColumn , wird das-Ereignis für jede Spalte ausgelöst, die erstellt wird.When the AutoGenerateColumns property is set to true, the AutoGeneratingColumn event will be raised for each column that is created. Sie können die Spalte ändern oder Abbrechen, die im AutoGeneratingColumn Ereignishandler erstellt wird.You can change or cancel the column being created in the AutoGeneratingColumn event handler.

Wenn die automatische Generierung aller Spalten vollständig ist, wird AutoGeneratedColumns das-Ereignis ausgelöst.When auto-generation of all columns is complete, the AutoGeneratedColumns event is raised.

Hinweis

DataGridSpalten können nicht automatisch generiert werden, wenn die Quelle XML-Daten ist.DataGrid cannot auto-generate columns when the source is XML data. Erstellen Sie in diesem Fall eine Benutzer Columns definierte Auflistung.In this case, create a custom Columns collection. Ein Beispiel finden Sie unter DataGridTextColumn.For an example, see DataGridTextColumn.

Gilt für:

Siehe auch