ListView控件数据操作——取得列表中的某列某行的数据

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

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
——转载请注明出处!

微信二维码扫码加微信

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值