Sdílet prostřednictvím


DataGrid.AutoGenerateColumns Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda jsou sloupce vytvořeny automaticky.

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

Hodnota vlastnosti

truepokud jsou sloupce vytvořeny automaticky; v opačném případě . false Zaregistrovaná výchozí hodnota je true. Další informace o tom, co může hodnotu ovlivnit, najdete v tématu DependencyProperty.

Příklady

Následující příklad ukazuje, jak automaticky generovat sloupce a změnit sloupce v době vytvoření v obslužné rutině AutoGeneratingColumn události.

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

Poznámky

Nastavení AutoGenerateColumns na true nebo false vytvoří nebo odebere automaticky generované sloupce. Když je vlastnost nastavená AutoGenerateColumns na true, AutoGeneratingColumn událost se vyvolá pro každý sloupec, který je vytvořen. Vytvořený sloupec v obslužné rutině AutoGeneratingColumn události můžete změnit nebo zrušit.

Po dokončení AutoGeneratedColumns automatického generování všech sloupců se vyvolá událost.

Poznámka

DataGrid Nemůže automaticky generovat sloupce, pokud jsou zdrojem data XML. V tomto případě vytvořte vlastní Columns kolekci. Příklad naleznete v tématu DataGridTextColumn.

Platí pro

Viz také