以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 利用逻辑列的值来判断显示图 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47038) |
-- 作者:李孝春 -- 发布时间:2014/3/3 16:59:00 -- 利用逻辑列的值来判断显示图 DataTables("收发文基础信息").AddUserStyle("a", Color.LightSteelBlue, Color.Black) Dim pc3 As WinForm.PictureBox = Forms("系统主窗体").Controls("PictureBox3") Dim pc2 As WinForm.PictureBox = Forms("系统主窗体").Controls("PictureBox2") If e.Row("是否处理") = True Then e.Style = "a" pc3.Image = getimage (projectpath & "images\\已处理.jpg") pc2.Image = getimage (projectpath & "images\\已处理.jpg") End If If e.Row("是否处理") = False Then pc3.Image = getimage (projectpath & "images\\未处理.jpg") pc2.Image = getimage (projectpath & "images\\未处理.jpg") End If 这个代码有没有更加优化一点的 便于提高效率,要求不是点单元格后就绘制,而是要求点击某行之后再进行绘制,比如双击某行!
|
-- 作者:不倒的翁 -- 发布时间:2014/3/3 17:01:00 -- 表的Click事件里面写你要的代码,判断选中行是否Nothing,然后执行代码。 |
-- 作者:李孝春 -- 发布时间:2014/3/3 17:08:00 -- 怎么写这个判断呢?判断选定行是否大于0 怎么写这个判断呢?判断选定行是否大于0或者不为空 |
-- 作者:Bin -- 发布时间:2014/3/3 17:15:00 -- 最简单的方法,设置一个逻辑列,勾上在执行. if e.row("逻辑列") then If e.Row("是否处理") = True Then e.Style = "a" pc3.Image = getimage (projectpath & "images\\已处理.jpg") pc2.Image = getimage (projectpath & "images\\已处理.jpg") End If If e.Row("是否处理") = False Then pc3.Image = getimage (projectpath & "images\\未处理.jpg") pc2.Image = getimage (projectpath & "images\\未处理.jpg") End If end if
|
-- 作者:Bin -- 发布时间:2014/3/3 17:15:00 -- 你也可以隐藏这个逻辑列,在双击事件中改变这个逻辑列的值 |
-- 作者:李孝春 -- 发布时间:2014/3/3 17:46:00 -- 是放在那个事件中呢? 是放在那个事件中呢?drawcell么? 之前的代码是鼠标移动到单元格就会发生绘图 ,我现在就想鼠标选定了某行后双击再进行绘图,是不是应该放在鼠标双击事件中呢?
|
-- 作者:Bin -- 发布时间:2014/3/3 17:47:00 -- drawcell |
-- 作者:李孝春 -- 发布时间:2014/3/3 17:48:00 -- 是否处理 已经是逻辑列咯 BIN 是否处理 已经是逻辑列咯 BIN 代码也是放在drawcell中的
|
-- 作者:Bin -- 发布时间:2014/3/3 17:50:00 -- 对. |
-- 作者:李孝春 -- 发布时间:2014/3/3 17:53:00 -- 但是还是不能实现我双击或者单击某行而进行显示图 但是还是不能实现我双击或者单击某行而进行显示图 还是会出现我鼠标移动就会绘图 导致图显示不准确
|