DataGridView的自定义列名称以及关联的DataSource

Bob*_*sky 25 c# datasource datagridview winforms

如何使用关联的DataSource为DataGridView设置自定义列名?

这是一些代码:

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;
Run Code Online (Sandbox Code Playgroud)

这为dataGridView提供了列名"Value"和"ExpirationDate".我应该如何继续将名称更改为"密钥"和"过期"?

Jay*_*ggs 49

使用属性上的DisplayName属性在DataGridView中指定列名:

class Key
{
    [System.ComponentModel.DisplayName("Key")]
    public string Value { get; }
    [System.ComponentModel.DisplayName("Expire")]
    public DateTime ExpirationDate { get; }
} 
Run Code Online (Sandbox Code Playgroud)


TBo*_*jnr 10

在设置数据源之后,您应该能够更改标题单元格:

    if (dataGridView1.Columns["Value"] != null)
        dataGridView1.Columns["Value"].HeaderText = "Key";
    if (dataGridView1.Columns["Expiration"] != null)
        dataGridView1.Columns["Expiration"].HeaderText = "Expire";
Run Code Online (Sandbox Code Playgroud)