RT!

解决方案 »

  1.   

    ListView2.ListItems.Add , ListView1.ListItems("KEY").Key, ListView1.ListItems("KEY").Text
    ListView1.ListItems.Remove ("KEY")也可以把关键字换成索引index
      

  2.   

    Private Sub Command1_Click()
    On Error Resume Next
    Dim i As Integer
    For i = 0 To List1.ListCount - 1
        List2.AddItem List1.List(i)
    Next
    List1.Clear
    End SubPrivate Sub Command2_Click()
    On Error Resume Next
    If List1.Text = "" Then Exit Sub
            List2.AddItem List1.Text
           List1.RemoveItem List1.ListIndex
    End SubPrivate Sub Command3_Click()
    On Error Resume Next
    If List2.Text = "" Then Exit Sub
            List1.AddItem List2.Text
            List2.RemoveItem List2.ListIndex
    End SubPrivate Sub Command4_Click()
    On Error Resume Next
    Dim i As Integer
    For i = 0 To List2.ListCount - 1
        List1.AddItem List2.List(i)
     
    Next
    List2.Clear
    End Sub
      

  3.   

    TO:renjunjun(飞黄) 
       这样只能把listview1 中的选种的第一个字段加入到listview2中。 我想把listview1 中一条记录(多个字段) 添加到listview2中  (listview1 和listview2 头部的字段信息结构相同)如何处理?
      

  4.   

    哦,忘记了,你那是多列模式啊!那就这样试试:Dim I As Long, TNode As ListItem
    Set TNode = ListView1.ListItems.Add(, "Item1", "1列")
    TNode.SubItems(1) = "2列"
    TNode.SubItems(2) = "3列"
    TNode.SubItems(3) = "4列"Set TNode = ListView2.ListItems.Add(, ListView1.ListItems("Item1").Key, ListView1.ListItems("Item1").Text)
    TNode.SubItems(1) = ListView1.ListItems("Item1").SubItems(1)
    TNode.SubItems(2) = ListView1.ListItems("Item1").SubItems(2)
    TNode.SubItems(3) = ListView1.ListItems("Item1").SubItems(3)
    ListView1.ListItems.Remove ("Item1")或者你还可以这样把所有的子项用循环添加:
    For I = 1 To ListView1.ColumnHeaders.Count - 1
        TNode.SubItems(1) = ListView1.ListItems("Item1").SubItems(1)
    Next I
      

  5.   

    TO:renjunjun(飞黄)
       listview1有个checkbox,我想把在listview1中选中的记录添加到list2中,程序如下,好象不对。     On Error Resume Next
        Dim i, j As Integer
        Dim TNode As ListItem
        If Index = 1 Then
           For i = 0 To lstFieldsByItem.ListItems.count - 1
               If lstFieldsByItem.ListItems(i).Checked = True Then
                  For j = 1 To lstFieldsByItem.ColumnHeaders.count - 1
                      Set TNode = lstFieldsByItem.ListItems.Add(, i, lstFieldsByItem.ListItems(i).SubItems(j))
                  Next j
                      Set TNode = lstMainVar.ListItems.Add(, lstFieldsByItem.ListItems(i).Key, lstFieldsByItem.ListItems(j).Text)
                  lstFieldsByItem.ListItems.Remove (i)
               End If
           Next i
         End If
      

  6.   

    listview1: lstFieldsByItem
    listview2: lstMainvar
      

  7.   

    你这个If Index = 1 Then是干啥用的啊?For I = lstFieldsByItem.ListItems.Count To 1 Step -1
        If lstFieldsByItem.ListItems(I).Checked = True Then
            Set TNode = lstMainvar.ListItems.Add(, "A" & I, lstFieldsByItem.ListItems(I).Text)
            For J = 1 To lstFieldsByItem.ColumnHeaders.Count - 1
                TNode.SubItems(J) = lstFieldsByItem.ListItems(I).SubItems(J)
            Next J
            lstFieldsByItem.ListItems.Remove (I)
        End If
    Next I添加时ListItem的关键字不能为数字,所以用"A" & I我答这么多,手把手的教,不加满100分不太好啊!呵呵
      

  8.   

    从这个列表中用判断的方法移动到另一列表后并删除时,你要注意,如果顺序删的话,ListItems.Count就会少一个,你那样就不能实现了,要倒着往回判断并删除.