DataGrid.AutoGenerateColumns Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si las columnas se crean automáticamente.
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
Valor de propiedad
true si las columnas se crean automáticamente; en caso contrario, false. El valor predeterminado registrado es true. Para obtener más información sobre lo que puede afectar al valor, vea DependencyProperty.
Ejemplos
En el ejemplo siguiente se muestra cómo generar automáticamente columnas y cambiar las columnas en tiempo de creación en el controlador de AutoGeneratingColumn eventos.
<!-- 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
Comentarios
true Al establecer AutoGenerateColumns en o se crean o false quitan columnas generadas automáticamente. Cuando la AutoGenerateColumns propiedad se establece trueen , el AutoGeneratingColumn evento se generará para cada columna que se cree. Puede cambiar o cancelar la columna que se va a crear en el controlador de AutoGeneratingColumn eventos.
Cuando se completa la generación automática de todas las columnas, se genera el AutoGeneratedColumns evento .
Nota
DataGrid no puede generar automáticamente columnas cuando el origen es datos XML. En este caso, cree una colección personalizada Columns . Para obtener un ejemplo, consulte DataGridTextColumn.