ListView怎么复制选中的行(刚才写错了)到另一个ListView

解决方案 »

  1.   

    lvDest.Items.Assign(lvSource.items);是全部添加
    那选中那些的添加是……?
      

  2.   

    with lvDest.Items.Add do 
      Assign(lvSource.Selected);
      

  3.   

    而且这样会冲掉原来的items现在要实现
    两个listview
    可以从其中一个选出几行放到另一个里
    可是用CopySelection只把第一列放过去了
    也就是没把subitems复制过去
    有没有方便又好的办法
      

  4.   

    对不对?有没有更好的
    procedure TAddLinksDlg.btnAddClick(Sender: TObject);
    var
      Item: TListItem;
    begin
      Item := lvSource.Selected;
      while Item <> nil do
      begin
        with lvDest.Items.Add do
          Assign(Item);
        Item := lvSource.GetNextItem(Item, sdAll, [isSelected]);
      end;
      lvSource.DeleteSelected;
    end;