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)
哦,忘记了,你那是多列模式啊!那就这样试试: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
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
listview1: lstFieldsByItem listview2: lstMainvar
你这个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分不太好啊!呵呵
ListView1.ListItems.Remove ("KEY")也可以把关键字换成索引index
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
这样只能把listview1 中的选种的第一个字段加入到listview2中。 我想把listview1 中一条记录(多个字段) 添加到listview2中 (listview1 和listview2 头部的字段信息结构相同)如何处理?
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
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
listview2: lstMainvar
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分不太好啊!呵呵