web-dev-qa-db-fra.com

Noms de colonne personnalisés pour DataGridView avec DataSource associé

Comment puis-je configurer des noms de colonne personnalisés pour DataGridView avec DataSource associé?

Voici un code:

class Key
{
    public string Value { get; }
    public DateTime ExpirationDate { get; }
}

List<Key> keys = new List<Key>();
...// fill keys collection

DataGridView dataGridView = createAndInitializeDataGridView();
dataGridView.DataSource = keys;

Cela me donne dataGridView avec les noms de colonne "Value" et "ExpirationDate". Comment dois-je procéder pour changer les noms en "Clé" et "Expire" par exemple?

25
Bobrovsky

Utilisez l'attribut DisplayName sur vos propriétés pour spécifier les noms de colonne dans votre DataGridView:

class Key
{
    [System.ComponentModel.DisplayName("Key")]
    public string Value { get; }
    [System.ComponentModel.DisplayName("Expire")]
    public DateTime ExpirationDate { get; }
} 
49
Jay Riggs

Vous devriez pouvoir modifier les cellules d'en-tête après avoir défini la source de données:

    if (dataGridView1.Columns["Value"] != null)
        dataGridView1.Columns["Value"].HeaderText = "Key";
    if (dataGridView1.Columns["Expiration"] != null)
        dataGridView1.Columns["Expiration"].HeaderText = "Expire";
10
TBohnen.jnr