listview上下移动数据
各位朋友请问使用vb6 的listview控件显示从数据库中查询后的数据,如果希望把显示的数据的顺序进行上下位置的调换是否可以做到?比如把显示的最后一条记录,调换到最上面,然后原来的第一条记录就变成了第二条了!
谢谢各位了
程序代码:Private Sub Command1_Click(Index As Integer)
'移动选中条目位置,使用控件数组
'0:第一条;1:向上一条;2:向下一条;3:最后一条
Dim vl1 As ListItem '原始
Dim vl2 As ListItem '新的
Dim i As Long
Set vl1 = ListView1.SelectedItem '当前已选择的
Select Case Index
Case 0 '到最顶端
Set vl2 = ListView1.ListItems.Add(1) '添加在最顶端
Case 1
If vl1.Index > 1 Then '是否到顶
Set vl2 = ListView1.ListItems.Add(vl1.Index - 1) '添加在上一条
Else
Exit Sub
End If
Case 2
If vl1.Index < ListView1.ListItems.Count Then '是否到底
Set vl2 = ListView1.ListItems.Add(vl1.Index + 2) '添加在下二条
Else
Exit Sub
End If
Case 3
Set vl2 = ListView1.ListItems.Add '添加在最后
Case Else '其它按钮,统统忽略
Exit Sub
End Select
vl2.Text = vl1.Text '第一列的文本
vl2.Icon = vl1.Icon 'ICO属性
vl2.SmallIcon = vl1.SmallIcon
For i = 1 To ListView1.ColumnHeaders.Count - 1 '总数据个数
vl2.SubItems(i) = vl1.SubItems(i) '复制内容
Next i
ListView1.ListItems.Remove (vl1.Index) '删原数据
Set ListView1.SelectedItem = vl2 '选中它
Set vl1 = Nothing
Set vl2 = Nothing
End Sub
