Đối với tình huống giỏ hàng, đây là những gì tôi đề nghị. Tôi sẽ chia nó thành dạng đơn giản nhất.
Giả sử chúng ta bắt đầu với điều này (một cái nhìn danh sách với 2 colums, 2 nút, và một nhãn): điều
Trước tiên, loại bỏ các mục, để làm được điều đó chúng tôi sẽ nhập nút remove chúng tôi:
private void button2_Click(object sender, EventArgs e)
{
listView1.Items.Remove(listView1.SelectedItems[0]);
label1.Text = updateCartTotal().ToString();
}
Bây giờ dòng thứ hai đang cập nhật nhãn của chúng tôi tổng sử dụng chức năng tiếp theo tôi sẽ gửi đến addup tất cả các tổng của cột 2 trong listview:
private decimal updateCartTotal()
{
decimal runningTotal = 0;
foreach(ListViewItem l in listView1.Items)
{
runningTotal += Convert.ToDecimal(l.SubItems[1].Text);
}
return runningTotal;
}
Bạn không cần phải sử dụng thập phân như tôi đã làm, bạn có thể sử dụng float hoặc int nếu bạn không có số thập phân. Vì vậy, hãy phá vỡ nó xuống. Chúng tôi sử dụng vòng lặp for để tổng tất cả các mục trong cột 2 (SubItems [1] .Text). Thêm nó vào một số thập phân mà chúng tôi đã khai báo trước vòng lặp foreach để giữ tổng số.Nếu bạn muốn thực hiện thuế, bạn có thể làm điều gì đó như:
return runningTotal * 1.15;
hoặc bất kỳ mức thuế suất nào của bạn.
Lâu dài và ngắn gọn, sử dụng chức năng này, bạn có thể đếm ngược chế độ xem danh sách của mình bằng cách chỉ cần gọi hàm. Bạn có thể thay đổi các nhãn văn bản như tôi demo'd trước nếu đó là những gì bạn đang sau.
Nguồn
2016-08-24 08:28:39
đừng quên kiểm tra listView1.SelectedItems.Count để ngăn chặn ngoại lệ con trỏ null –