ListView删除选中的项目,出现索引超出边界
原来只要一删除,它的索引双重排了,要怎么样可以删除选中的项目呢
    Dim i As Integer
    With ListView1
        For i = 1 To .ListItems.Count
            If .ListItems(i).Checked = True Then
               .ListItems.Remove (i)
            End If
        Next
    End With
用listview显示记录,但只能修改其中一个叫做"数量"的字段
其它字段就不可以修改的,要怎么做,
用DataGrid1基本上也可以,但它可以修改全部的字段,
上面2种控件怎么做到我想要的效果,

解决方案 »

  1.   

    再来两个小问题
    报表以 vbModal 以模态窗口显示出错, "无效数据源" 并且无法正常退出程序
    工具条如下拉菜单时。不知如何使用
      

  2.   

    倒过来循环
    Dim i As Integer
    With ListView1
    For i = ListItems.Count to 1 step -1
    If .ListItems(i).Checked = True Then
    .ListItems.Remove (i)
    End If
    Next
    End With
      

  3.   

    用listview显示记录,但只能修改其中一个叫做"数量"的字段
    其它字段就不可以修改的,要怎么做,
    用DataGrid1基本上也可以,但它可以修改全部的字段,
    上面2种控件怎么做到我想要的效果,不太理解,你如果想要那种键盘输入修改的,那么就用一个textbox来配合一下
      

  4.   

    对于自己管理索引号的对象,删除项一般都倒着来!
    报表以 vbModal 以模态窗口显示出错, "无效数据源" 并且无法正常退出程序
    工具条如下拉菜单时。不知如何使用
    -------------
    应该和模态窗口显示没什么关系吧,第二个问题没明白意思
      

  5.   

    listview的單元格不貼控件能編輯嗎?
      應該不能吧!
      

  6.   

    你这个程序有问题,在.ListItems.Remove (i)执行了以后,.ListItems.Count就会改变。
      

  7.   

    ListView删除选中的项目  搞定了,谢谢各位.
    第二个自己用textbox配合来用,我是想要双击"数量"就可以修改.要textbox在listview中显示,
    我家里不能上网,过几天来结贴