获取listview Item和int值的总和

时间:2015-10-03 13:38:52

标签: c# winforms listview

我正在制作购物车。我有3个文本框(txtItemCode,txtItemName,txtQuantity)所以每次我添加一个项目时它会显示到我的'listView1',按钮点击时有3列(ItemCode,ItemName,Quantity),我也有一个'panel1 '这将显示购物车中商品的总金额'panel1'有2个标签(TaxLabel,AmountLabel)。

项目数量中的每个数字相当于120

我想在“panel1”中看到基于购物车数量项目的总价格

在我的代码中,我可以获得购物车中商品的总价格,但我也得到了文本框“txtQuantity.Text”的输入,我无法摆脱它 继承我的代码:

int x = int.Parse(txtQuantity.Text);
foreach (ListViewItem li in listView1.Items)
{
    x += int.Parse(li.SubItems[2].Text) * 120;
}
labelItemAmount.Text = Convert.ToString(x);

1 个答案:

答案 0 :(得分:0)

虽然我认为使用数量子项的值而不是120更好,但您可以使用此类代码来获得总和:

var sum = this.listView1.Items
              .Cast<ListViewItem>()
              .Sum(item => int.Parse(item.SubItems[2].Text)* 120);
labelItemAmount.Text = sum.ToString();

如果要使用数量子项的值,假设数量子项的索引是3,请使用int.Parse(item.SubItems[3].Text)而不是120。

也不要忘记添加using SystemLinq;