2011-01-22 15 views
1
ID  Item   Code 
1  Item a  1565 
2  Item x  **2565** 
3  Item w  1245 
4  Item f  1345 

我有一個像上面這樣的ListView細節格式,我想改變介於**標記之間的單元格內容的值。 我怎樣才能改變它,使其出現在同一行,而不需要更新行或表中的其他值。如何在ListView中使用C#.net替換一行中列的值

請指導我在C#.NET

+0

你怎麼想,以確定需要改變的行? – Hawxby 2011-01-22 11:20:03

回答

3

基本上,它取決於你如何填寫您ListView

無論如何,像這樣的代碼,應該工作在幾乎所有情況:

var idIdx = listView1.Columns["ID"].Index; 
var codeIdx = listView1.Columns["Code"].Index; 

foreach (ListViewItem item in listView1.Items) 
{ 
    if (item.SubItems[idIdx].Text == "2") 
    { 
     item.SubItems[codeIdx].Text = "new value..."; 
     break; 
    } 
} 

只是一個警告:

,以保證前兩行的代碼工作的,必須正確初始化你的專欄Name屬性,當你創建它們:

或者通過使用適當增加過:

listView1.Columns.Add("ID", "ID"); 

或更高版本設置它:

var col = listView1.Columns.Add("ID"); 
col.Name = "ID"; 
相關問題