如何使用C#.net替换ListView中连续列的值?

时间:2011-01-22 11:09:01

标签: c# windows listview

ID      Item          Code
1       Item a        1565
2       Item x        **2565**
3       Item w        1245
4       Item f        1345

我有一个像上面的ListView详细信息格式,我想更改**标记之间的单元格内容的值。 如何更改它以使其显示在同一行中而无需更新行或表中的其他值。

请用C#.net

指导我

1 个答案:

答案 0 :(得分:4)

基本上,这取决于您填写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";