Partager via


DataGrid.AutoGenerateColumns Propriété

Définition

Obtient ou définit une valeur qui indique si les colonnes sont créées automatiquement.

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

Valeur de propriété

true si les colonnes sont créées automatiquement ; sinon, false. La valeur par défaut enregistrée est true. Pour plus d'informations sur ce qui peut influencer la valeur, consultez DependencyProperty.

Exemples

L’exemple suivant montre comment générer automatiquement des colonnes et modifier les colonnes au moment de la création dans le gestionnaire d’événements 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

Remarques

La définition AutoGenerateColumns de true ou false crée ou supprime des colonnes générées automatiquement. Lorsque la AutoGenerateColumns propriété a la truevaleur , l’événement AutoGeneratingColumn est déclenché pour chaque colonne créée. Vous pouvez modifier ou annuler la colonne en cours de création dans le gestionnaire d’événements AutoGeneratingColumn .

Une fois la génération automatique de toutes les colonnes terminée, l’événement AutoGeneratedColumns est déclenché.

Notes

DataGrid impossible de générer automatiquement des colonnes lorsque la source est des données XML. Dans ce cas, créez une collection personnalisée Columns . Pour obtenir un exemple, consultez DataGridTextColumn.

S’applique à

Voir aussi