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
truepokud jsou sloupce vytvořeny automaticky; v opačném případě . false Zaregistrované výchozí nastavení je true. Další informace o tom, co může ovlivnit hodnotu, naleznete v tématu DependencyProperty.
Příklady
Následující příklad ukazuje, jak automaticky generovat sloupce a měnit sloupce při vytvář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 nebo true vytvoření nebo false odebrání automaticky generovaných sloupců Pokud je vlastnost nastavena AutoGenerateColumns na true, AutoGeneratingColumn událost bude vyvolána pro každý sloupec, který je vytvořen. Sloupec vytvořený 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 Aplikace nemůže automaticky generovat sloupce, pokud zdroj je data XML. V tomto případě vytvořte vlastní Columns kolekci. Pro příklad viz DataGridTextColumn.