我想在listview中删除多行,代码是这样写的,但是不对,请指教!
 for i:=0 to listview.items.count do
 begin
  if listview.item[i].selected then
    listview.item[i].delete;
 end;
这样连续删除的话序号会改变,就不对了,有好的方法吗?

解决方案 »

  1.   

    反过来就行了
    for i:=listview.items.count-1 downto 0 do
     begin
      if listview.item[i].selected then
        listview.item[i].delete;
     end;
      

  2.   

    把listview.item[i].delete改为listview.item[i].DeleteSelected 试试
      

  3.   

    for i:=listview.items.count-1 downto 0 do
     begin
      if listview.item[i].selected then
        listview.item[i].delete;
     end;
      

  4.   

    不要用循环的。用一个话句就行了。    .DeleteSelected就是删除所以选中的。
      

  5.   

    Item[0].Delete
    一直删除第0行,可以不用downto
      

  6.   


       .DeleteSelected