Udostępnij za pośrednictwem


DataGrid.AutoGenerateColumns Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy kolumny są tworzone automatycznie.

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

Wartość właściwości

true jeśli kolumny są tworzone automatycznie; w przeciwnym razie , false. Zarejestrowana wartość domyślna to true. Aby uzyskać więcej informacji o tym, co może wpływać na wartość, zobacz DependencyProperty.

Przykłady

W poniższym przykładzie pokazano, jak automatycznie generować kolumny i zmieniać kolumny w czasie tworzenia w programie obsługi zdarzeń 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

Uwagi

Ustawienie AutoGenerateColumns na true lub tworzy lub false usuwa automatycznie generowane kolumny. Po ustawieniu AutoGenerateColumns właściwości na truewartość zdarzenie AutoGeneratingColumn zostanie zgłoszone dla każdej utworzonej kolumny. Możesz zmienić lub anulować kolumnę utworzoną w procedurze obsługi zdarzeń AutoGeneratingColumn .

Po zakończeniu AutoGeneratedColumns automatycznego generowania wszystkich kolumn zdarzenie jest wywoływane.

Uwaga

DataGrid Nie można automatycznie generować kolumn, gdy źródło jest danymi XML. W tym przypadku utwórz kolekcję niestandardową Columns . Aby zapoznać się z przykładem, zobacz DataGridTextColumn.

Dotyczy

Zobacz też