2012-06-12 63 views
2

如何動態重命名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

回答

7

只需使用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

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