DataGrid.AutoGenerateColumns Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
pokud 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.