删除Listview中的项目和值

时间:2014-02-16 05:53:10

标签: c# listview

我从列表视图中删除项目时遇到问题。该程序计算列表中剩余值的总值。问题是,当我删除一个项目时,它会删除列表视图中添加的第一个项目的值。

例如:

/*I added this items in order.

item1 = 20,
item2 = 10,
item3 = 5

When I remove item2 its rtbTcost is 15 based on the program below.
Which means that the value of item1 was removed.*/

                int totalRemoved = 0;


                for (int i = 0; i < lvCart.SelectedItems.Count; i++)
                {
                    totalRemoved += int.Parse(lvCart.Items[i].SubItems[1].Text);
                    lvCart.Items.Remove(lvCart.SelectedItems[i]);

                }

                _listTotal -= totalRemoved;
                rtbTcost.Text = _listTotal.ToString();

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

1开始结束并倒计时。

for (int i = lvCart.SelectedItems.Count - 1; i >= 0; i--)
{
        ListViewItem itm = lvCart.SelectedItems[i];
        lvCart.Items[i].Remove();
}

已删除总数

lvCart.SelectedItems.Count

如果您使用列表视图中的所选项目,则作为要删除的项目。

删除后的总和,通过对列中的值求和。

int _listTotal = 0;
foreach (ListViewItem li in lvCart) {
   _listTotal += int.Parse(li.Subitems[1].Text);
}
rtbTcost.Text = _listTotal.ToString();