Foxtable(狐表)用户栏目专家坐堂 → 怎么让listview不显示当前被选中的行


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

主题:怎么让listview不显示当前被选中的行

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
怎么让listview不显示当前被选中的行  发帖心情 Post By:2017/4/5 14:11:00 [只看该作者]

怎么让listview不显示当前被选中的行

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170405150746.png
图片点击可在新窗口打开查看
如果 用listview 做了一个下拉窗口

怎么才能在才能在下拉窗口中隐藏当前行能
(下来内容都是当前表的内容,包括当前行)

listview的代码如下

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
'lvw.View = ViewMode.SmallIcon 
lvw.CheckBoxes=True
'lvw.View = ViewMode.Tile '显示模式为平铺
lvw.view = ViewMode.LargeIcon
lvw.Images.LargeSize = New Size(100,100) '定义大图标尺寸
lvw.TitleSize = New Size(150,120)  '设置平铺区域的大小
Dim cls() As String = {"ppp","cn_name"} '定义列名
For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
Next

For Each dr As DataRow In DataTables("商品").Select("[gongxiang] =1") '从数据表中提取数据

   ' Dim Key As String = ProjectPath & "images\aaa\" & dr("ppp")'
      Dim Key As String = "e:\as2\" & dr("ppp")'
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("cn_name")  '设置此行的动态提示
    vr.ImageKey = Key '设置图片键值
    For Each cl As String In cls '逐列取值
        vr(cl) = dr(cl)
    Next
    vr.tag = dr
Next
lvw.ResumeRedraw() '恢复绘制

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/5 15:16:00 [只看该作者]

不显示当前被选中的行是什么意思?没有看明白

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/4/5 15:48:00 [只看该作者]


假设表格中红色行开始 向下6行分别对应 下拉框中的6个图片

表格里的 红色行对应的图片是  下拉框里的第一个图片 依次类推

当选中红色行的时候,下拉框中不显示第一个图片

选中红色行下面的行 下拉框不显示第二个图片

表格和listview绑定的都是同一个数据表。

所以当图片的id 和当前行的id 相同时 

在下拉框中隐藏表格中 被选中的行id 对应的图片。



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/5 16:22:00 [只看该作者]

 加上判断

 

If dr("id") <> Tables("表A").Current("id") Then

 

 

 

End If


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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/4/5 20:58:00 [只看该作者]

怎么隐藏呢?因为当前行是隐藏的。换行后还是要显示的。

listview不是很懂,帮助已经翻了10遍了。



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/5 21:13:00 [只看该作者]

For Each dr As DataRow In DataTables("商品").Select("[gongxiang] =1") '从数据表中提取数据
   
    If dr("id") <> Tables("表A").Current("id") Then
        ' Dim Key As String = ProjectPath & "images\aaa\" & dr("ppp")'
        Dim Key As String = "e:\as2\" & dr("ppp")'
        lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
        Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        vr.ToolTipText = dr("cn_name")  '设置此行的动态提示
        vr.ImageKey = Key '设置图片键值
        For Each cl As String In cls '逐列取值
            vr(cl) = dr(cl)
        Next
        vr.tag = dr
    End If
Next


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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/4/6 16:25:00 [只看该作者]

经过试验  没有发现有什么区别啊?

就第一行选择的时候会隐藏当前列。

第二行开始又是原样啊

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/6 16:30:00 [只看该作者]

 你的代码写在那个事件?表名有没有写对?

 回到顶部