C# 更改 DataGridView 中的列标题

Posted

技术标签:

【中文标题】C# 更改 DataGridView 中的列标题【英文标题】:C# Changing Column Headers in DataGridView 【发布时间】:2012-02-14 04:02:03 【问题描述】:

我的项目中有一个 datagridview,它是从 SQL 数据库中填充的,代码如下:

 public cToDoList(string paramUser, DateTime paramDueDate)
    
        string sqlStat = "SELECT * FROM tblDiary " +
                         "WHERE DiaryUserFor = @User " +
                         "AND DiaryDueDate <= @DueDate;";
        SqlCommand sqlCom = new SqlCommand(sqlStat);
        sqlCom.Parameters.Add("@User", SqlDbType.VarChar);
        sqlCom.Parameters.Add("@DueDate", SqlDbType.Date);
        sqlCom.Parameters["@User"].Value = paramUser;
        sqlCom.Parameters["@DueDate"].Value = paramDueDate.Date;

        cSqlQuery sqlQ = new cSqlQuery(sqlCom, "table");
        this.cTable = sqlQ.cQueryResults;
    

上面的代码运行良好,datagridview 已被填充,但是列标题是 SQL 数据库中的字段名称,对用户不是很友好。

我尝试了几件事来尝试更改默认列名,但没有任何效果。到目前为止,我已经尝试过 -

dataToDoList.Columns[0].Name = "TEST1";

dataToDoList.Columns["DiaryCompletedDate"].Name = "TEST2";

但什么都不做。

谁能告诉我如何更改数据网格视图中的列标题名称?

【问题讨论】:

【参考方案1】:

试试DataGridViewColumn.HeaderText & AutoGenerateColumns (MSDN)

希望这对你有用。

【讨论】:

【参考方案2】:

您需要的确切列是什么..?

Replace the SELECT * with

 SELECT ColumnName AS 'TEST1', ColumnName2 AS 'TEST2' FROM ...etc

【讨论】:

事后看来,别名是我的应用程序的最佳解决方案。谢谢。 听起来不错,Pete 很高兴我们中的许多人可以为您指明正确的方向【参考方案3】:

你想要Column.HeaderText,而不是Column.Name


或者,使用可视化设计器设置列属性,并在表单构造函数中设置

dataToDoList.AutoGenerateColumns = false;

【讨论】:

【参考方案4】:

一种简单的方法是在 SQL 中显式命名您想要的列。

即。用select DiaryCompletedDate [TEST1], OtherColumn [TEST2], .. 等替换select *(你可能不应该使用它)等

【讨论】:

【参考方案5】:

在对网格进行数据绑定时,您可以像这样更改 HeaderText

this.dataGridView1.Columns["ResourceValue"].HeaderText = Helper.getlocalStringResource("Xinga.LocalStrings.ColumnHeader.ResourceValue");

【讨论】:

以上是关于C# 更改 DataGridView 中的列标题的主要内容,如果未能解决你的问题,请参考以下文章

C# DataGridView的列标题能否居中?

如何根据 c# winforms 中的列日期和名称将 sql 中的数据输入到特定的 datagridview 单元格中

c#中datagridview中datasource反复赋值没有变化?

C#中dataGridView的列顺序问题

使用 c# 和 oledb 查询更新 Ms-Access 2010 中的列值

更新 datagridview 时导出日志文件