DataGrid.AutoGenerateColumns Свойство

Определение

Возвращает или задает значение, указывающее, создаются ли столбцы автоматически.

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

Значение свойства

Значение в противном случае . Зарегистрировано значение по умолчанию true. Дополнительные сведения о том, что может повлиять на значение, см. в разделе DependencyProperty.

Примеры

В следующем примере показано, как автоматически создавать столбцы и изменять столбцы во время создания в обработчике 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

Комментарии

true Установка AutoGenerateColumns или создание или false удаление автоматически созданных столбцов. AutoGenerateColumns Если для свойства задано trueзначение, AutoGeneratingColumn событие будет создано для каждого создаваемого столбца. Вы можете изменить или отменить созданный столбец в обработчике AutoGeneratingColumn событий.

После завершения AutoGeneratedColumns автоматического создания всех столбцов возникает событие.

Замечание

DataGrid не может автоматически создавать столбцы, если источником являются XML-данные. В этом случае создайте пользовательскую Columns коллекцию. Пример см. в разделе DataGridTextColumn.

Применяется к

См. также раздел