Foxtable(狐表)用户栏目专家坐堂 → ListView


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

主题:ListView

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
ListView  发帖心情 Post By:2016/4/2 11:33:00 [只看该作者]

求助为什么双击图片后打开一个窗口,确没有显示所点击图片的行内容:

RowActivate事件代码:

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

If lvw.Current IsNot Nothing Then
  
    Dim vr As WinForm.ListViewRow = lvw.Current

    Forms("商品图片").open

End If

 

窗口商品中心AfterLoad代码:

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Tile '显示模式为平铺
lvw.Images.LargeSize = New Size(80,80) '定义大图标尺寸
lvw.TitleSize = New Size(220,100)  '设置平铺区域的大小
Dim cls() As String = {"系列","二级编码"} '定义列名
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("商品中心").DataRows '从数据表中提取数据
    Dim Key As String = dr("产品图片") '获取此员工的照片文件
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.ToolTipText = dr("审批")  '设置此行的动态提示
    vr.ImageKey = Key '设置图片键值
    For Each cl As String In cls '逐列取值
        vr(cl) = dr(cl)

    Next

Next
lvw.ResumeRedraw() '恢复绘制

[此贴子已经被作者于2016/4/2 13:00:07编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/2 11:38:00 [只看该作者]

要在Forms("商品图片")的AfterLoads事件中取得ListView的当前行然后赋值

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/2 11:39:00 [只看该作者]

Forms("商品图片")的AfterLoads事件


Dim lvw As WinForm.ListView = Forms("商品中心").Controls("ListView1")

If lvw.Current IsNot Nothing Then 
   
    Dim vr As WinForm.ListViewRow = lvw.Current

    ‘其它代码

End If


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2016/4/2 12:08:00 [只看该作者]

我的ListView1 是在窗口“商品中心”里面的,然后双击图片后打开一个名字叫“商品图片”的窗口,里面只有一个PictureViewer1,是用来查看“商品中心”窗口里面ListView1 所点击的图片的内容的,请问:

1,

Forms("商品图片")的AfterLoads事件是指“商品图片”窗口里面的AfterLoad事件吗,还是“商品图片”里面的RowActivate事件,我是菜鸟,请指明,谢谢

2,代码是这样的吗:

Dim lvw As WinForm.ListView = Forms("商品中心").Controls("ListView1")

If lvw.Current IsNot Nothing Then 
   
    Dim vr As WinForm.ListViewRow = lvw.Current

   Forms("商品图片").open  ‘其它代码

End If

3,如上代码好像没有解决问题,应该是我理解错误,请老师指导。

非常感谢


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/2 14:42:00 [只看该作者]

上例子

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2016/4/2 15:26:00 [只看该作者]

[upload=table,贸易管理软件.table]viewFile.asp?ID=783
[此贴子已经被作者于2016/4/2 16:42:05编辑过]

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2016/4/2 15:28:00 [只看该作者]

要求打开商品中心后,双击右边的图片能够打开窗口商品图片,并能对应相对的行,密码yy090424

[此贴子已经被作者于2016/4/2 15:29:04编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/2 16:33:00 [只看该作者]

商品中心AfterLoad事件

DataTables("商品中心").Load
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.LargeIcon '显示模式为 大图标
lvw.Images.LargeSize = New Size(180,130) '定义大图标尺寸
For Each dr As DataRow In DataTables("商品中心").DataRows '从数据表中提取数据
    Dim Key As String = dr("产品图片") '获取此员工的照片文件
    lvw.Images.AddLargeImage(Key, Key) '添加照片,直接用文件名作为图片键值
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.Text = dr("二级编码")  '设置标题
    vr.ImageKey = Key '设置图片键值
vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next
lvw.ResumeRedraw() '恢复绘制

ListView DoubleClick事件

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
If lvw.Current IsNot Nothing Then
    Dim dr As DataRow = lvw.Current.tag
    Dim idx = Tables("商品中心").FindRow(dr)
    If idx >= 0 Then '如果找到的话
        Tables("商品中心").Position = idx '定位到找到的行.
    End If
End If

Forms("商品图片").Open

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2016/4/2 16:42:00 [只看该作者]

非常感谢,谢谢了


 回到顶部