以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请前辈老师帮忙写一个自动变色的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126999) |
||||
-- 作者:ZHX88863808 -- 发布时间:2018/11/2 14:47:00 -- [求助]请前辈老师帮忙写一个自动变色的代码 一个表中:有一个日期列A,一个商品型号列B和一个库存数据列C,如果数据列C数据发生过变化,则为数据列C背景变化浅绿色,如果C数据三个月内未发生过变化,则,则数据列C背景变黄色,六个月未发生变化,则变为橙色,如果一年未发生变化则变为红色,请前辈老师帮忙写个代码,谢谢! |
||||
-- 作者:y2287958 -- 发布时间:2018/11/2 14:54:00 -- 上实例 |
||||
-- 作者:有点甜 -- 发布时间:2018/11/2 14:59:00 -- 1、datacolchanged事件编写代码,如果修改了C列,A列记录当前日期;
2、当前日期和A列比较,看相差多少,对应显示样式
http://www.foxtable.com/webhelp/scr/2647.htm
http://www.foxtable.com/webhelp/scr/0656.htm
|
||||
-- 作者:ZHX88863808 -- 发布时间:2018/11/2 15:06:00 --
|
||||
-- 作者:ZHX88863808 -- 发布时间:2018/11/2 15:27:00 -- If e.DataCol.name="C" Then
|
||||
-- 作者:y2287958 -- 发布时间:2018/11/2 15:47:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/2 16:22:00 --
|
||||
-- 作者:ZHX88863808 -- 发布时间:2018/11/3 13:29:00 -- 两位前辈老师,上面的项目经过测试,觉得还差点,主要是顔色变化有点误差(可能是未表达好,超过三个月未变化变黄色,超过六个月未变动变橙色,超过一年未变动变红色,只要数据一发生变动就变浅绿色,变动之后再按原来的规则循环变化),麻烦再帮忙完善一下,谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2018/11/3 13:50:00 -- 这种看懂代码自己改改 |
||||
-- 作者:有点蓝 -- 发布时间:2018/11/3 14:01:00 -- DataTables("库存表").AddUserStyle("浅绿", Color.SpringGreen, Color.Black) DataTables("库存表").AddUserStyle("黄色", Color.Yellow, Color.Black) DataTables("库存表").AddUserStyle("橙色", Color.Orange, Color.Black) DataTables("库存表").AddUserStyle("红色", Color.Red, Color.Black) If e.Col.Name = "库存数量" AndAlso e.Row.IsNull("库存数量") = False Dim d As Date = e.Row("日期") If d.AddMonths(3) < Date.Today e.Style = "黄色" ElseIf d.AddMonths(6) < Date.Today e.Style = "橙色" ElseIf d.AddMonths(12) < Date.Today e.Style = "红色" Else e.Style = "浅绿" End If End If
|