以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 填充颜色 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138325) |
||||
-- 作者:leoli -- 发布时间:2019/7/28 22:27:00 -- [求助] 填充颜色 你好,最近购买了个这个Foxtable,可是还不怎么会用,按照售后服务的推荐,请这儿的老师帮忙一下,谢谢。
表中的第一列我用 扩展例类型 设定了 色彩。
要求,在窗口中按一下按钮可实现 :
1. 当第二列,第三列,第四列 中的数量是空白 或 是 0 时,第一列就显示 蓝色
2. 当第三列,第四列 中的数量是空白 或 是 0 时,第一列就显示 绿色
3. 当第三列的数量大于0,第四列 中的数量是空白 或 是 0 时,第一列就显示 橙色
4. 当第四列的数量大于0时,第一列就显示 红色
带上例子,请帮忙看一下。谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2019/7/28 23:15:00 -- 例如 datacolchanged事件 Select e.DataCol.Name Case "第二列","第三列","第四列" If e.DataRow("第二列") = 0 AndAlso e.DataRow("第三列") = 0 AndAlso e.DataRow("第四列") = 0 Then e.DataRow("第一列") = Color.blue.Toargb ElseIf e.DataRow("第三列") = 0 AndAlso e.DataRow("第四列") = 0 Then e.DataRow("第一列") = Color.green.Toargb End If End Select 其它两种颜色代码自己学着补充上去 |
||||
-- 作者:leoli -- 发布时间:2019/7/28 23:25:00 -- 你好,不对,第一次可以,可是在表里任意修改后,不会变更了。
可以用按钮来实现吗?
|
||||
-- 作者:y2287958 -- 发布时间:2019/7/29 8:23:00 -- Select e.DataCol.Name Case "第二列","第三列","第四列" If e.DataRow("第三列") = 0 AndAlso e.DataRow("第四列") = 0 e.DataRow("第一列") = Color.Orange.Toargb ElseIf e.DataRow("第二列") = 0 AndAlso e.DataRow("第三列") = 0 AndAlso e.DataRow("第四列") = 0 e.DataRow("第一列") = Color.green.Toargb ElseIf e.DataRow("第三列") = 0 AndAlso e.DataRow("第四列") = 0 e.DataRow("第一列") = Color.Orange.Toargb ElseIf e.DataRow("第四列") > 0 e.DataRow("第一列") = Color.red.Toargb End If End Select
|
||||
-- 作者:有点蓝 -- 发布时间:2019/7/29 8:53:00 -- 代码放到datacolchanged事件,而不是datacolchanging事件。 Foxtable不同事件有不同的使用场合,不是随便使用的
|
||||
-- 作者:leoli -- 发布时间:2019/7/29 10:23:00 -- 谢谢,老师
那如何转换成按钮代码
|
||||
-- 作者:有点蓝 -- 发布时间:2019/7/29 10:51:00 -- dim r as row = tables("表A").current if r isnot nothing then If r("第三列") = 0 AndAlso r("第四列") = 0 r("第一列") = Color.Orange.Toargb elseif ............ end if
|
||||
-- 作者:y2287958 -- 发布时间:2019/7/29 10:51:00 -- For Each dr As DataRow In DataTables("表A").DataRows If dr("第二列") = 0 AndAlso dr("第三列") = 0 AndAlso dr("第四列") = 0 dr("第一列") = Color.green.Toargb ElseIf dr("第三列") = 0 AndAlso dr("第四列") = 0 dr("第一列") = Color.Orange.Toargb ElseIf dr("第四列") > 0 dr("第一列") = Color.red.Toargb ElseIf dr("第三列") = 0 AndAlso dr("第四列") = 0 dr("第一列") = Color.Orange.Toargb End If Next
|