0
private void button1_Click(object sender, EventArgs e)
    {
        try
        {
            int i=listView1.SelectedItems.Count;
            int j = listView1.SelectedIndices.Count;
            for (int k = 0; i < listView1.SelectedItems.Count; k++)
            {
                listView1.Items[k].Remove();
            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

当我从列表视图中选择值时,为什么它返回 count = 0 ?

4

4 回答 4

0

您正在修改您在 for 语句中使用的集合。看看从集合中删除项目。

于 2012-09-10T08:58:34.647 回答
0

该属性SelectedItems返回被选中的项目,即通过单击文本进行标记(通常带有蓝色突出显示)。

要获取选中复选框的项目,请使用该CheckedItems属性。

于 2012-09-10T08:58:20.560 回答
0

您可以在以下位置调整您DataBind的 ListView:!IsPostBack 部分

你用 ViewState 持久化你的数据

If(! IsPostBack)
{
  //You don't pass by this section when you post => you don'y erase your selected values 

  //Bind your ListView
}

您的数据被删除,因为当您通过单击发布时,您会重新构建您的 ListView 等删除选定的值

于 2012-09-10T09:00:40.200 回答
0

您可以使用 listview 的属性CheckedItems来检查所有已检查的项目。

于 2012-09-10T09:01:40.070 回答