选中了listview中的多行数据,怎样才能得到它们,不要说遍历所有的记录噢

解决方案 »

  1.   

    var
      i :integer;
     for i:=0 to TreeView1.SelectionCount-1 do
       TreeView1.Selections[i]
      

  2.   

    估计只能遍历了,这是ListView中的DeleteSelected方法的实现源码,它也是通过遍历来实现的。
      Items.BeginUpdate;
      try
        for I := Items.Count - 1 downto 0 do
          if Items[I].Selected then
            Delete(Items[I]);
      finally
        Items.EndUpdate;
      end;
      

  3.   

    回复人: AirLu(AirLu) ( ) 信誉:100  2004-05-09 12:51:00  得分:0 
     
     
      估计只能遍历了,这是ListView中的DeleteSelected方法的实现源码,它也是通过遍历来实现的。
      Items.BeginUpdate;
      try
        for I := Items.Count - 1 downto 0 do
          if Items[I].Selected then
            Delete(Items[I]);
      finally
        Items.EndUpdate;
      end;  
     
    ******************错了错了!!
    while ListView1.SelCount>0 do
    ListView1.Selected.Delete;
      

  4.   

    回复人: xzhifei(星级饭桶(抵制日货)·飞) ( ) 信誉:123  2004-05-09 14:25:00  得分:0 
     
     
      为什么错,我不多说了(人要靠自己)
      
     
    *******************************
    我贴出来的是VCL的代码,不是我写的,是borland写的!
      

  5.   

    各位不好意思,我看错了
       for I := Items.Count - 1 downto 0 do
    我看成了:
       for I := 0 to Items.Count - 1 do
      

  6.   

    to  houwei1008(下雨天) :
    有Selections[i]这个东西吗????
      

  7.   

    不好意思,看错了,treeview中有,listview中没有,在listview中好像只能遍历啦,呵呵
      

  8.   

    var
      Item: TListItem;
    begin    
      Item := AListView.Selected;
      while Item <> nil do
      begin
        Item := AListView.GetNextItem(Item, sdAll, [isSelected]);
        //此时Item就是其中的一个选择的Item,可以对其进行任何操作
      end;
    end;