[求助]图象列表框的应用问题
用图象列表框列出一数据库内的数据,有分列。 On Error Resume Next
Dim key1 As Integer
Dim text, Text1, Text2 As String
Dim clm As ColumnHeader
Dim itmX As ListItem
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
Set clm = ListView1.ColumnHeaders.Add(, , "序号", 600)
Set clm = ListView1.ColumnHeaders.Add(, , "指标名称", 3200)
Set clm = ListView1.ColumnHeaders.Add(, , "单位", 1500)
Set clm = ListView1.ColumnHeaders.Add(, , "对应表名", 1500)
If Data2.Recordset.RecordCount > 0 Then
Data2.Recordset.MoveFirst
Do While Data2.Recordset.EOF = False
key1 = Data2.Recordset.Fields("序号")
text = Data2.Recordset.Fields("指标名称")
Text1 = Data2.Recordset.Fields("单位")
Text2 = Data2.Recordset.Fields("对应表名")
Set itmX = ListView1.ListItems.Add(, , key1)
itmX.SubItems(1) = text
itmX.SubItems(2) = Text1
itmX.SubItems(3) = Text2
Data2.Recordset.MoveNext
Loop
End If
Label8.Caption = ListView1.ListItems.Count
然后,通过四个按钮可以向列表框内添加另外的内容。
分别为[向上添加],[向下添加],[开头添加],[末尾添加]
其中:
末尾添加挺正常的,
Dim a As Integer
a = Val(Label8.Caption) + 1
Set itmX = ListView1.ListItems.Add(, , a)
itmX.SubItems(1) = Text1.text
itmX.SubItems(2) = Text2.text
ListView1.Refresh
Label8.Caption = ListView1.ListItems.Count
但是其它三个按钮的代码就无法编写了。
如[向上添加]:
Dim a As Integer
Label7.Caption = ListView1.SelectedItem
a = Val(Label7.Caption) - 1
Set itmX = ListView1.ListItems.Add(, , a)
itmX.SubItems(1) = Text1.text
itmX.SubItems(2) = Text2.text
ListView1.Refresh
Label8.Caption = ListView1.ListItems.Count
一点向上添加,数据都会添加到列表框的末尾
而且点选添加在末尾的这一行,虽然在Label8上会显示原有总行数加添加的行数的总和,但在Label7.上会显示为原来label7-1的序号(有相同),我的本意是点选列表框里的任一行,Label7会显示为你所选的行数
请问,要如何编写,才可以在点击列表框后,在所选定行的上一行或是下一行中,插入要添加的内容呢??