Foxtable(狐表)用户栏目专家坐堂 → 求助:listview中如何获取二进制保存的图片呢?


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

主题:求助:listview中如何获取二进制保存的图片呢?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/15 15:30:00 [显示全部帖子]

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(130,150) '定义大图标尺寸

For Each dr As DataRow In DataTables("员工信息").DataRows '从数据表中提取数据
    Dim Key As String = dr("_Identify") '获取此员工的照片文件
    Dim img = dr.SQlLoadImage("照片")
    If img IsNot Nothing Then
        lvw.Images.LargeImages.Add(key, img)
    End If
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.Text = dr("名字")  '设置标题
    vr.ImageKey = Key '设置图片键值
Next
lvw.ResumeRedraw()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 19:54:00 [显示全部帖子]

 测试没有问题,没有变通方法。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 21:22:00 [显示全部帖子]

 窗口没问题,不会报错。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 21:31:00 [显示全部帖子]

 不可能,我测试没有问题,代码也不会有问题啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 21:41:00 [显示全部帖子]

 你12楼的代码,不会有问题,请单独一个窗口测试。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 21:51:00 [显示全部帖子]

 有可能和网速有关。你改成这样看看

 

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(130,150) '定义大图标尺寸

Dim dr As DataRow = Tables("员工信息").Current.DataRow '从数据表中提取数据
Dim Key As String = dr("_Identify") '获取此员工的照片文件
Dim img = dr.SQlLoadImage("照片")
If img IsNot Nothing Then
    lvw.Images.LargeImages.Add(key, img)
End If
Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
vr.Text = dr("名字")  '设置标题
vr.ImageKey = Key '设置图片键值

lvw.ResumeRedraw()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/18 22:16:00 [显示全部帖子]

以下是引用李孝春在2015/5/18 22:07:00的发言:

这样固然不报错了 但是却不能显示当前表中全部数据了 只显示了第一条第一个名字和图

 

那就说明网络问题,同样的代码,我的不会报错。


 回到顶部