DataGrid.AutoGenerateColumns Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 true
wartość 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.