以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- BeforeGetImage出现问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86799) |
-- 作者:douglas738888 -- 发布时间:2016/6/26 17:09:00 -- BeforeGetImage出现问题 请教老师,有这样一个问题,下面这段代码运行是正常的,但是同样的代码把Label130 替换成其他的 Label131或Label002....,打开窗口前提示就报错“无法找到控件Label131...... ” ,点击报错窗口确认后,正常窗口打开后代码功能是正常的。 如果不用以下代码,使用其他Label131控件是正常的, 也不报错,功能也正常的。 不知这是不是BUG。 在PictureBox3的BeforeGetImage里写入的代码: Dim pbx As WinForm.PictureBox = e.Sender Dim lbl As WinForm.Label = e.Form.Controls("Label130") If lbl IsNot Nothing Then Dim Count As Double Count = DataTables("项目信息主表").Compute("Count(项目编号)","信息甄批_投审人员 Like \'%" & _UserName & "%\' and (信息甄批_投审确认 not Like \'%" & _UserName & "%\' or 信息甄批_投审确认 Is null)") If Count = 0 Then e.File = "Green.ico" \'显示图片 ElseIf Count >= 1 Then e.File= "Red.ico" \'显示图片 End If lbl.Text = "" & Count & "" End If [此贴子已经被作者于2016/6/26 17:11:48编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/6/26 17:12:00 -- 把这个控件删除,重新加入试试。
实在不行,上传实例。 |
-- 作者:douglas738888 -- 发布时间:2016/6/26 17:16:00 -- 重新删除好多次了,也重新增加了,还是这样,就是只能在TABLE130控件下不报错, 同样的代码我也做了实例测试,实例不报错啊,但是把同样的代码放到工程文件中就报错 也不知道是为什么??
|
-- 作者:douglas738888 -- 发布时间:2016/6/26 17:23:00 -- 上传个实例,但是这个实例不报错哦,还是代码存在一定的缺陷。 好像不用设绑定,实例中的代码也能运行 刚刚又在工程文件进行了测试,BeforeGetImage里面只写Dim pbx As WinForm.PictureBox = e.Sender这句代码 就不报错了 功能也能实现了 但是图片的转换是在TIMERTICK里面实现的,不知这样的写码方式对吗??目前测试好像是没有问题,但还是有些怀疑 还是请老师看看实例,里面的代码如果在TIMERTICK转换图片,是否这样的方式是可行的,主要是怕存在隐患问题。
[此贴子已经被作者于2016/6/26 17:51:00编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/6/26 23:39:00 -- 绑定的时候,只能绑定表列或者var变量啊,不能任意绑定成你填写的值啊。
本来就应该在Timertick事件转换图片的 |
-- 作者:douglas738888 -- 发布时间:2016/6/27 14:17:00 -- 还得请教老师, 问题1:下面代码,点击当前行后就自动消失,审定确认列的行也就自动填写_UserName的内容了,无法审核行里面的内容,应该是点击当前行处理完后关闭窗口,该行才不会加载。
查找了好久也没能发现问题,该窗口也没有写入其他条件控制该TABLE的加载和筛选条件啊 窗口AFTERLOAD Dim Filter As String = "审批人员 Like \'%" & _UserName & "%\' and (审定确认 not Like \'%" & _UserName & "%\' or 审定确认 Is null)" Tables("投标商务待审_Table8").Filter = Filter 窗口内副本CLICK If e.Row("审定确认").Contains(_UserName) = False Then e.Row("审定确认") = (e.Row("审定确认") & "," & _UserName).Trim(",") End If 问题2:另外,再请教老师,因为特殊流程需要,副本table是要显示的行包括前两个或多个流程的审核意见进行查看,以上代码如果点击 审批人员 是非登录人员的行,同样会在该行自动填入_UserName的内容,怎样限制,审批人员与_UserName不符合,审定确认列不自动填入_UserName |
-- 作者:大红袍 -- 发布时间:2016/6/27 15:25:00 -- 1、AfterLoad事件
Dim Filter As String = "审批人员 Like \'%" & _UserName & "%\' and (审定确认 not Like \'%" & _UserName & "%\' or 审定确认 Is null)"
2、Click事件
If e.Row("审批人员").Contains(_UserName) = False Then Return |