Foxtable(狐表)用户栏目专家坐堂 → 关于ListView的RowSelectionChanged事件


  共有2017人关注过本帖树形打印复制链接

主题:关于ListView的RowSelectionChanged事件

帅哥哟,离线,有人找我吗?
larjia
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:92 积分:931 威望:0 精华:0 注册:2018/2/28 12:33:00
关于ListView的RowSelectionChanged事件  发帖心情 Post By:2018/3/10 13:35:00 [只看该作者]

代码如下:
Forms("MainMenu").Open()

Dim r As WinForm.ListView = e.Sender
If r.SelectedRows(0).Text = "固定资产" Then
    msgbox ("固定资产")
End If

希望找到当前的选中行。点击任一listviewrow,出现索引超出范围的报错。
代码哪里有问题?



图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
larjia
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:92 积分:931 威望:0 精华:0 注册:2018/2/28 12:33:00
  发帖心情 Post By:2018/3/10 14:24:00 [只看该作者]

我把代码改成如下,能达到效果。

1. 这样写是否正确?
2. 有更简单的方法吗?


Dim lvw As WinForm.ListView = e.Sender
Dim r As WinForm.ListViewRow
For Each r In lvw.SelectedRows
    If r.Selected = True Then
        If r.Text = "固定资产" Then
            msgbox ("固定资产")
        End If
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/10 14:48:00 [只看该作者]

Dim r As WinForm.ListView = e.Sender
If r.SelectedRows.count > 0 AndAlso r.SelectedRows(0).Text = "固定资产" Then
    msgbox ("固定资产")
End If

 回到顶部