我收到此错误“InvalidArgument ='0'的值对'index'无效。”
private void button3_Click(object sender, EventArgs e)
{
object lst=listView1.SelectedItems[0].Clone();
listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);
listView2.Items.Add((ListViewItem)lst);
SqlCommand cmd = new SqlCommand("update visitortb set checkstat=1 where passno=" + text_passno.Text + "", db.Connect());
if (cmd.ExecuteNonQuery() >= 0)
{
MessageBox.Show("Check OUT Complete");
}
}
答案 0 :(得分:2)
您尚未在ListView
中选择任何项目。
SelectedItems
属性是ListViewItem
个对象的集合,就像任何集合一样,它可能是空的。
在尝试访问第一个元素之前,首先检查集合的Count
属性。
if (listView1.SelectedItems.Count == 0)
return;
// rest of your code
答案 1 :(得分:1)
试试这个:
if (listView1.SelectedItems.Count > 0)
{
object lst = listView1.SelectedItems[0].Clone();
listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);
listView2.Items.Add((ListViewItem)lst);
MessageBox.Show("Check OUT Complete");
}
else
MessageBox.Show("No item selected!");
答案 2 :(得分:0)
有两个绝对的原因,其中一个是真的:
1) The listView has no row
2) No item has been selected