Foxtable(狐表)用户栏目专家坐堂 → listview 的问题


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

主题:listview 的问题

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


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

Dim lvw As WinForm.ListView = Forms("分类").Controls("ListView1")
Dim vls As String = ""
For Each vr As WinForm.ListViewRow In lvw.SelectedRows
      vls = vls & "," & vr("商品")
Next
vls = vls.Trim(",")
If vls > "" Then

 Dim vb As WinForm.ListViewRow = lvw.Current
  vb("lei")="aa"

Else
    MessageBox.show("你并没有选择任何国家!" )
End If

我想在 红色的部分实现
被选中的行的  lei= “bbb”
同时隐藏显示 被选中的图片  

请问应该怎么写
是写在button按钮里的
非常感谢。


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


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

Dim lvw As WinForm.ListView = Forms("分类").Controls("ListView1")
Dim vls As String = ""
Dim ls As new List(of Integer)
For Each vr As WinForm.ListViewRow In lvw.SelectedRows
    vls = vls & "," & vr("商品")
    If lei= "bbb" Then
        ls.add(vr.Index)
    End If
Next
vls = vls.Trim(",")
If vls > "" Then
    For i As Integer = ls.count-1 To 0 Step -1
        lvw.rows(i).Delete
    Next
Else
    MessageBox.show("你并没有选择任何国家!" )
End If

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


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

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,分类,Button2,Click
详细错误信息:
未将对象引用设置到对象的实例。



Dim lvw As WinForm.ListView = Forms("分类").Controls("ListView1")
Dim vls As String = ""
Dim ls As new List(of Integer)
For Each vr As WinForm.ListViewRow In lvw.SelectedRows
    vls = vls & "," & vr("商品")
这个地方我想要的是 e.datarow(“lei”)= “bbb”    and   隐藏当前图片。
    If lei= "bbb" Then
        ls.add(vr.Index)
    End If

Next
vls = vls.Trim(",")
If vls > "" Then
    For i As Integer = ls.count-1 To 0 Step -1
        lvw.rows(i).Delete
    Next
Else
    MessageBox.show("你并没有选择任何国家!" )
End If


[此贴子已经被作者于2017/2/12 18:50:27编辑过]

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


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

最后delete行了,不就是隐藏了行和图片吗?

 

 


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


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


[此贴子已经被作者于2017/2/12 18:52:10编辑过]

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


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

好像不行 显示下面的错误




.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2015.12.22.1
错误所在事件:窗口,分类,Button2,Click
详细错误信息:
未将对象引用设置到对象的实例。




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


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

改成

 

    For i As Integer = ls.count-1 To 0 Step -1
        lvw.rows(ls(i)).Delete
    Next


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


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

还是显示同样的错误



先点button3

在点button2

还是
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:upload1029.foxdb


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

图片点击可在新窗口打开查看此主题相关图片如下:11111111.png
图片点击可在新窗口打开查看
如图,第5行的图片都被选中。
点button2后 

1  这5个图片对应的行的 lei列的值 =ccc
2  这5个图片在界面上隐藏(不代表要删除数据)



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


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

button3

 

Dim lvw As WinForm.ListView = Forms("分类").Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Tile '显示模式为平铺
lvw.Images.LargeSize = New Size(65,75) '定义大图标尺寸
lvw.TitleSize = New Size(150,90)  '设置平铺区域的大小
Dim cls() As String = {"cs1","cs2","cs3"} '定义列名
For i As Integer = 0 To  cls.Length - 1  '增加列
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
Next
Dim count As Integer = 0 '测试
For Each dr As DataRow In DataTables("商品").Select("") '从数据表中提取数据
    count += 1
    If count > 10 Then Exit For '测试
    Dim Key As String = ProjectPath & "images\aaa\" & dr("ppp")'
    ' Dim Key As String = 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() '恢复绘制

 

 

-------------------------------------------------------------


button2

 

Dim lvw As WinForm.ListView = Forms("分类").Controls("ListView1")
Dim vls As String = ""
Dim ls As new List(of Integer)
For Each vr As WinForm.ListViewRow In lvw.SelectedRows
    vls = vls & "," & vr.tag("id")
    If vr.tag("lei")= "bbb" Then
        ls.add(vr.Index)
    End If
Next
vls = vls.Trim(",")
If vls > "" Then
    For i As Integer = ls.count-1 To 0 Step -1
        lvw.rows(ls(i)).Delete
    Next
Else
    MessageBox.show("你并没有选择图!" )
End If

 

[此贴子已经被作者于2017/2/12 23:59:23编辑过]

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


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

非常感谢,可以了。

button3 我想分页显示可以实现么?
按照帮助在afterload里加了代码 好像不行,还望多多指点
[此贴子已经被作者于2017/2/13 9:08:02编辑过]

 回到顶部
总数 15 1 2 下一页