DataGrid.AutoGenerateColumns Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om kolumnerna skapas automatiskt.
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
Egenskapsvärde
trueom kolumner skapas automatiskt; annars . false Det registrerade standardvärdet är true. Mer information om vad som kan påverka värdet DependencyPropertyfinns i .
Exempel
I följande exempel visas hur du automatiskt genererar kolumner och ändrar kolumnerna vid skapandetillfället AutoGeneratingColumn i händelsehanteraren.
<!-- 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
Kommentarer
Inställning AutoGenerateColumns till true eller false skapar eller tar bort automatiskt genererade kolumner. När egenskapen AutoGenerateColumns är inställd på trueAutoGeneratingColumn genereras händelsen för varje kolumn som skapas. Du kan ändra eller avbryta kolumnen som skapas i AutoGeneratingColumn händelsehanteraren.
När automatisk generering av alla kolumner är klar utlöses AutoGeneratedColumns händelsen.
Note
DataGrid kan inte generera kolumner automatiskt när källan är XML-data. I det här fallet skapar du en anpassad Columns samling. Ett exempel finns i DataGridTextColumn.