2015-10-03 21 views
-1

我正在購物車。我有3個文本框(txtItemCode,txtItemName,txtQuantity),所以每當我添加一個項目時,它會顯示到我的'listView1',它有3列(ItemCode,ItemName,Quantity)按鈕單擊,我也有一個'panel1'購物車中'panel1'的商品總數有2個標籤(TaxLabel,AmountLabel)。獲取listview項目和int值的總和

中的項目的數量每單數相當於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); 
+0

似乎要覆蓋在每次迭代中x的值,這是爲什麼? –

+0

抱歉,錯誤的副本。立即編輯帖子 – user3833309

+0

您能否在索引2中顯示子項目內容的示例?我不明白你在提到txtQuantity文本框的部分中的問題 – Steve

回答

0

雖然我認爲它能夠更好地使用val UE數量分項,而不是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;

+1

投之後,你可以立即調用Sum(x => int.Parse(....)) – Steve

+0

這對我有用!謝謝! – user3833309

+0

@ user3833309不客氣。 –