【发布时间】:2017-03-12 16:12:34
【问题描述】:
我正在尝试将项目添加到列表视图(Win 表单应用程序),如果用户多次添加项目,列表视图应该只更新项目并将数量加 1 我正在尝试更新列表视图,但出现错误
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in System.Windows.Forms.dll
Additional information: InvalidArgument=Value of '0' is not valid for 'index'.
首先我试图查找该项目是否存在于列表视图中 然后更新列表视图中的项目
string ScanedItem = "A"
ListViewItem ITM = listView1.FindItemWithText(ScanedItem);
if (ITM != null)
{
int i = ITM.Index;
listView1.SelectedItems[i].SubItems[0].Text = "2";
}
else
{
var LastAddedItem = BasketItems.Last();
ListViewItem lvi = new ListViewItem(LastAddedItem.Item_Name);
lvi.SubItems.Add("£ " + LastAddedItem.Item_Price.ToString());
lvi.SubItems.Add(LastAddedItem.Item_Quantity.ToString());
lvi.SubItems.Add("£ " + LastAddedItem.Total_Item.ToString());
listView1.Items.Add(lvi);
}
任何帮助或建议都会很棒
【问题讨论】:
-
异常发生在哪一行?我感觉
.SubItem[0]没有任何元素或无法以整数作为索引访问。 -
我不明白 - 你的意思是“不止一次列表视图应该只更新项目” - 你需要指定你想要做什么。请删除冗余代码并注释您的代码以及变量
BasketItemsdefined 在哪里?