ListView控件数据操作
三、取得列表中的某列某行的数据
在使用ListView完成数据显示时,还需要得到其中的部分数据,以便实现交互式操作,下面的函数,可以实现这一功能。
函数代码
取得指定的ListView控件的某一列某一行的数据,支持字段名和列号,支持多字段。
Public Function GetLvData(Lv As Object, Optional Fies, Optional RowNum As Integer = 0)
Dim sp() As String
Dim i As Integer
Dim j As Integer
Dim dic As Object
If Lv.ListItems.Count = 0 Then Exit Function
If RowNum = 0 Then RowNum = Lv.ListItems.Count '设置返回行
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = vbTextCompare '采用文本的比较方式,不分大小写
For i = 1 To Lv.ColumnHeaders.Count
dic(Lv.ColumnHeaders(i).Text) = i - 1 '整理列字段的列数
Next
If InStr(Fies, ",") Then '多字段
sp = Split(Fies, ",")
For i = 0 To UBound(sp)
If Not IsNumeric(sp(i)) Then sp(i) = dic(sp(i)) '给的是列名,不是列数
If sp(i) > 0 Then
sp(i) = Lv.ListItems(RowNum).SubItems(sp(i)) '后续列
Else
sp(i) = Lv.ListItems(RowNum).Text '第一个列
End If
Next
GetLvData = sp
Else
If Not IsNumeric(Fies) Then Fies = dic(Fies) '给的是列名,不是列数
If Fies > 0 Then
GetLvData = Lv.ListItems(RowNum).SubItems(Fies) '后续列
Else
GetLvData = Lv.ListItems(RowNum).Text '第一个列
End If
End If
End Function
调用例子
Private Sub CommandButton4_Click()
Dim tmp
tmp = GetLvData(列表, "字段,值", 3)
End Sub
ListView控件数据操作系列未完,待续!
——专注办公软件的二次开发及培训,你有问题,我有思路!
——微博、微信、CSDN同号:w_dexu。
——转载请注明出处!
扫码加微信

这篇博客介绍了如何在ListView控件中获取特定列和行的数据,提供了一个函数代码,并给出了调用示例,适用于VBA、Excel和WPS等办公软件的二次开发。
1389





