我正在使用 c# windows 窗体。我有多个按钮链接到一个列表视图,当按下一个按钮时,一个新项目被添加到列表视图中。列表视图中的列标题是“名称”和“金额”。当按下不同的按钮时,将不同的项目添加到列表视图中。我需要帮助的事情如下:当同一个按钮被按下两次时,我希望在第二次点击时金额从“1”变为“2”。所以项目名称没有重复,但数量增加了。问题是我现在正在使用文本将按钮链接到链接列表,例如(“可口可乐”,“1”),它将项目名称添加为可口可乐,数量为 1。我知道这与整数所以请帮助!
谢谢
当用户按下按钮时,在添加新行之前,只需遍历所有当前的 ListViewItems 并检查它们是否已经具有相同的名称,如果是,则增加数量列。否则,像您当前一样添加该行。
bool found = false;
foreach (ListViewItem item in listView1.Items)
{
if (item.Text.Equals("Coke"))
{
int amt = int.Parse(item.SubItems[1].Text);
amt++;
item.SubItems[1].Text = amt.ToString();
found = true;
}
}
if (!found)
{
ListViewItem item = listView1.Items.Add("Coke");
item.SubItems.Add("1");
}
var amount = new Dictionary<string, int>();
Button1_Click()
{
if(amount["Coca Cola"]<=0)
{
add a listview items with amount 0
}
// find the listitem with the value "Coca Cola" using FindItemWithText() Method
// set the value of ++amount["Coca Cola"] to that listitem in the amount field
}
手头有地图将避免在其他情况下阅读列表视图项目。