DataGrid.AutoGenerateColumns Egenskap

Definition

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.

Gäller för

Se även