Compartir a través de


DataGrid.AutoGenerateColumns Propiedad

Definición

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.

Se aplica a

Consulte también