Foxtable(狐表)用户栏目专家坐堂 → [求助]picturebox关联列显示问题


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

主题:[求助]picturebox关联列显示问题

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
[求助]picturebox关联列显示问题  发帖心情 Post By:2015/9/26 17:07:00 [显示全部帖子]

1、现有一张表“A”和表“B”,两张表通过表中的[ZL]列进行关联,生成了新表“C”
2、创建窗口,建立表窗口绑定表“A”,创建记录窗口绑定表“C”的[ZL]列
3、当选择A表的某一行是,记录窗口同时显示C表的相关[ZL]列等信息
4、创建控件picturebox,关联表“C”的[ZL]列,并以最顶端方式放置在记录窗口控件的上面,大小与记录窗口相同

需求:
当选择表“A”的某一行是,同时记录窗口中正常显示绑定列[ZL]的信息
如此信息的内容为,则picturebox控件显示,并getimage=图1.png,图片来源于项目image文件夹,否则隐藏图片控件不显示图片,正常显示记录窗口及内容

测试:
在表“C”的表事件currendchanged事件中写入如下代码
Dim r As Row = Tables("C").Current
If Forms("窗口").Opened Then
    Dim pbx As WinForm.PictureBox = Forms("窗口").Controls("picturebox1")
    If r IsNot Nothing Then
        If r("ZL") = "开发中" Then
            pbx.Image = getimage("图1.png") '显示图片
            e.Form.Controls("picturebox1").Visible = True 
        Else
           pbx.Image = Nothing '不显示图片
           e.Form.Controls("picturebox1").Visible = False 
        End If
    Else
        pbx.Image = Nothing '不显示图片
        e.Form.Controls("picturebox1").Visible = False 
    End If
End If

测试不成功,后将代码移至PositionChanged (选择不同行后执行),问题依旧

请教改如何修改实现?



[此贴子已经被作者于2015/9/28 10:17:21编辑过]

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(狐狸爸爸) 换个思路,参考这个事件:...  发帖心情 Post By:2015/9/28 10:31:00 [显示全部帖子]

首先感谢狐爸百忙之中的解答,之前已经看过帮助中关于这个显示的介绍,但是测试效果还是不行
我在控件中重新写了代码,不知道这么写是否合理,请参考

Dim pbx As WinForm.PictureBox = e.Sender
Dim r As Row = Tables("C").Current
If r("ZL") = ""  Then
    e.Form.Controls("前片开发").Visible = True
    e.File = "Development.png" '显示图片
Else
    e.Form.Controls("前片开发").Visible = False
    e.File = "" '不显示图片
End If

如果此行的ZL列值为空,则显示该控件,并加载图片,反之,隐藏控件不加载图片。不过这有个问题,这个buforegetimage的事件主要作用于显示图片文件之前执行,那如何判定我当前选中的表A的某一行所关联的表C中显示的数据呢?可能还是没弄明白原理,抱歉

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)上传例子说明问题。  发帖心情 Post By:2015/9/28 12:08:00 [显示全部帖子]

例子使用的是外部数据源,且表太多,有内部资料,不太方便上传,其实要实现的效果已经说明了,只是不知道该如何实现而已!

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)点击表A的时候,定位一下表C ...  发帖心情 Post By:2015/9/28 13:56:00 [显示全部帖子]

是不是出现BUG了还是怎么回事?还是机器码变更了?中途换过一次显卡,但是未提示需要重新激活
我在picturebox 的beforegetimage 中代码,然后预览窗口就会弹出如下提示:

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


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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)改一下名字看看,在不行, ...  发帖心情 Post By:2015/9/28 14:36:00 [显示全部帖子]

删除控件,重新建立控件,问题解决。。。。这算BUG么,问了客服,竟然不回复,直接让我评价


红袍大大,刚刚的问题还是没有解决,能鉴于我提供的信息给予提供个代码范例么?
主要是选择表A某一行,判断关联的表C(临时表)中的[ZL]列为空值的时候,显示图片控件,并加载图片

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

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

如果为图2的空值,则显示下图

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





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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)1楼代码不变,写到表A的CurrentChang...  发帖心情 Post By:2015/9/28 16:27:00 [显示全部帖子]

做了个例子,请查阅
另,如果想实现前后信息同时显示开发的图片状态,如果修改代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目2015-9-28.rar


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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)[upload=zip,测试项目2015-9-28.zip]...  发帖心情 Post By:2015/9/29 9:40:00 [显示全部帖子]

修改后,弹出如下提示
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,主窗体,前片开发,BeforeGetImage
详细错误信息:
未将对象引用设置到对象的实例。
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,主窗体,后片开发,BeforeGetImage
详细错误信息:
未将对象引用设置到对象的实例。

beforegetimage:   
 
    Dim r As Row = Tables("车型资料表.FMSI_ZLF").Current
    If r.isnull("ZL") Then
        e.Form.Controls("前片开发").Visible = True
        e.File = "Development.png" '显示图片
    Else
        e.Form.Controls("前片开发").Visible = False
        e.File = "" '不显示图片
    End If



当错误弹窗全部关闭后,主窗体显示,一切功能正常,这是为何???


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

以下内容需要积分达到63840才可以浏览








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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)加判断看看     ...  发帖心情 Post By:2015/9/29 17:43:00 [显示全部帖子]

问题解决了!
谢谢大红袍!

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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)加判断看看     ...  发帖心情 Post By:2015/10/10 9:47:00 [显示全部帖子]

红袍大大,出现个新问题,当我[前片_编码]的biforegetimage事件设置的时候,图片控件不显示,我在将代码做了修改:
Dim r As Row = Tables("车型资料表.FMSI_ZLF").Current
If r Is Nothing Then Return
If r.isnull("ZL") Then
    e.Form.Controls("前片开发").Visible = True
    e.Form.Controls("前片开发").TopMost = True
    e.File = "Development.png" 'projectpath & "images/Development.png" '显示图片
Else
    e.Form.Controls("前片开发").Visible = False
    'e.Form.Controls("前片开发").TopMost = False
    e.File = "" '不显示图片
End If

能正常显示或隐藏图片控件,但如果表中的数据出现连续行[前片_编码]的内容相同的时候,图片控件就无法显示出来了,且有闪烁感

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


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


加好友 发短信
等级:小狐 帖子:396 积分:3297 威望:0 精华:0 注册:2014/12/13 14:35:00
回复:(大红袍)做例子发上来。  发帖心情 Post By:2015/10/21 11:51:00 [显示全部帖子]

目前图片显示的效果在点击表控件中的产品,能正常显示“开发中”图片
但,在表中进行条件筛选查询后,点击筛选出的产品,控件有加载,却未对图片控件赋值图片,这是为何?

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


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