【问题标题】:iterate datagridview columns and change column header迭代 datagridview 列并更改列标题
【发布时间】:2012-06-12 12:28:17
【问题描述】:

如何动态重命名datagridview的列标题?

直到现在我都使用这个代码:

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

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

如何迭代所有列标题并执行类似的操作

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

【问题讨论】:

标签: c# winforms datagridview


【解决方案1】:

只需使用 foreach 遍历所有列:

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

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

【讨论】:

  • 它不编译?我收到一个错误“对象”不包含“HeaderText”的定义..
  • 是的,我的错。不能在 foreach 中使用 var。它现在可以按预期编译和工作。
  • 谢谢!这行得通。我怎么能“猜到”我应该在 foreach 中写“DataGridViewColumn”?智能感知显示 dataGridView1.Columns 返回“DataGridViewColumnCollection”?
  • 索引器dataGridView.Columns[0]的使用告诉你枚举时得到的对象类型。
  • @BornToCode:如果您不确定使用什么类型等,查看msdn 也是一个很好的起点。:)
【解决方案2】:
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
    if (column.HeaderText == "customer_id")
    {
        column.HeaderText = "my_title"
    }
}

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2012-02-14
    • 2016-03-16
    • 2010-11-07
    • 2017-10-27
    • 2016-11-17
    • 1970-01-01
    • 2021-07-13
    相关资源
    最近更新 更多