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.