迭代datagridview列并更改列标题

迭代datagridview列并更改列标题

问题描述:

如何动态重命名datagridview的列标题?迭代datagridview列并更改列标题

到现在为止我用这个代码:

dataGridView1.Columns[0].HeaderText = "my_title"; 

问题是列[0]可能会随时间而改变..

我怎么能重复上的所有列标题和这样做

if (Column.HeaderText=="customer_id") {Column.HeaderText="my_title"} ? 
+0

检查这个帖子http://stackoverflow.com/questions/125719/datagridview-edit-column-names –

+0

其实我看到前问那个帖子,但我不能从中了解什么是结论?这是不可能实现的? – BornToCode

只需使用foreach遍历所有列:

foreach(DataGridViewColumn column in dataGridView1.Columns) 
{ 
    if (column.HeaderText=="customer_id") { column.HeaderText="my_title" } 
} 

这当然只会改变一列的标题文本。 如果要为多列设置自定义标题文本,可以使用switch而不是if

+0

它不能编译?我得到一个错误'对象'不包含'HeaderText'的定义.. – BornToCode

+1

是的,我的错误。在foreach中不能使用'var'。它现在编译并按预期工作。 – Franky

+0

谢谢!这工作。我怎么能'猜'我应该在foreach中编写“DataGridViewColumn”?智能感知显示dataGridView1.Columns返回“DataGridViewColumnCollection”? – BornToCode

foreach (DataGridViewColumn column in dataGridView1.Columns) 
{ 
    if (column.HeaderText == "customer_id") 
    { 
     column.HeaderText = "my_title" 
    } 
}