以文本方式查看主题

-  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
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存提示.table


--  作者:ZHX88863808
--  发布时间:2018/11/2 15:27:00
--  

If e.DataCol.name="C" Then
   If e.DataRow("C") Then
         e.DataRow("A")=Date.today
   End If
End If
我这样日期可以变化,但如何变色呢?还有如果C数据三个月内未发生过变化,则,则数据列C背景变黄色,六个月未发生变化,则变为橙色,如果一年未发生变化则变为红色,这些代码怎么写,我基础差,还请帮忙写一个,谢谢!

 


--  作者:y2287958
--  发布时间:2018/11/2 15:47:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存提示.table


--  作者:有点甜
--  发布时间:2018/11/2 16:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存提示.table


--  作者: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