11

有没有办法在 DataGridView 中编辑列名?

4

7 回答 7

30

您还可以使用以下方法更改列名:

myDataGrid.Columns[0].HeaderText = "My Header"

但是myDataGridwill 需要绑定到一个DataSource.

于 2008-09-24T06:59:53.023 回答
11

您可以直接编辑标题:

dataGridView1.Columns[0].HeaderCell.Value = "Created";
dataGridView1.Columns[1].HeaderCell.Value = "Name";

依此类推,你有多少列。

于 2013-02-27T13:23:55.653 回答
8

@Dested 如果您从 DataReader 填充 DataGrid,您可以更改查询中的列名称

例如

select ID as "Customer ID", CstNm as "First Name", CstLstNm as "Last Name"
from Customers

这样,在您的数据网格中,您将看到客户 ID 而不是 ID 等等。

于 2011-09-20T15:19:39.793 回答
7

我认为不编写自定义代码就没有办法做到这一点。我将实现一个 ColumnHeaderDoubleClick 事件处理程序,并在列标题的顶部创建一个 TextBox 控件。

于 2008-09-24T06:43:11.613 回答
2

我猜你想要的是编辑列的 HeaderText 属性:

myDataGrid.TableStyles[0].GridColumnStyles[0].HeaderText = "My Header"

来源http ://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=186908&SiteID=1

于 2008-09-24T06:45:47.550 回答
2

您也可以在不知道上面发布的任何内容的情况下直接编辑:

protected void gvCSMeasureCompare_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
        e.Row.Cells[0].Text = "New Header for Column 1";
}
于 2008-09-24T06:56:49.320 回答
-1

试试这个

myDataGrid.Columns[0].HeaderText = "My Header"
myDataGrid.Bind() ;
于 2014-06-02T04:54:11.203 回答