以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于控件背景颜色怎么随绑定值变化 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=18667) |
-- 作者:zyf1826 -- 发布时间:2012/4/20 14:20:00 -- 关于控件背景颜色怎么随绑定值变化 求高手帮忙,我想让窗口的lable控件的背景颜色,随着lable绑定值变化,这个判断语句怎么写,目前只能做到固定颜色,无法随值判定变化 例如:Forms("故障报修弹出窗口").controls("Label8").backcolor = color.green 这个可以实现 但是要判断lable绑定的列 "设备状态"栏的数值变化时,无法执行,求高手帮忙修改代码: If Forms("故障报修弹出窗口").controls("Label8").BindingField ("故障报修弹出窗口.设备状态").value="待修中" Then Forms("故障报修弹出窗口").controls("Label8").backcolor = color.green End If
|
-- 作者:狐狸爸爸 -- 发布时间:2012/4/20 16:05:00 -- 设置Table的CurrentChanged事件:
If Forms("故障报修弹出窗口").Opened then Dim r as Row = e.Table.Current if r("设备状态") = "待修中" then Forms("故障报修弹出窗口").controls("Label8").backcolor = color.green else Forms("故障报修弹出窗口").controls("Label8").backcolor = color.Red End If End if |
-- 作者:zyf1826 -- 发布时间:2012/4/20 17:02:00 -- 感谢版主的帮助,终于解决这个问题。 \'故障报修弹出窗口设备状态背景颜色转换 If Forms("故障报修弹出窗口").Opened Then Dim r As DataRow = e.DataRow If r("设备状态") = "待修中" Then Forms("故障报修弹出窗口").controls("Label8").backcolor = color.red Else If r("设备状态") = "维修中" Then Forms("故障报修弹出窗口").controls("Label8").backcolor = color.fuchsia Else If r("设备状态") = "运行中" Then Forms("故障报修弹出窗口").controls("Label8").backcolor = color.lime End If End If |
-- 作者:zyf1826 -- 发布时间:2012/4/21 7:45:00 -- 还有个问题啊,我在切换行的时候,怎么这个时候颜色不会自动切换啊,是不是程序加载位置不对,求指教。 |
-- 作者:狐狸爸爸 -- 发布时间:2012/4/23 7:22:00 -- 你还得在Table的CurrentChanged事件设置代码,注意CurrentChanged事件的e参数和DataColChanged事件是不同的。 CurrentChanged事件是换行后执行的,DataColChanged是修改某列的值后执行的。 这种问题最好配合简单的例子后发帖提问。 |