以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]单元格颜色报错求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127500) |
||||
-- 作者:湛江智 -- 发布时间:2018/11/15 14:21:00 -- [求助]单元格颜色报错求助 大师,如果要通过2列日期差,自动生成单元格样式
新增行时,创建日期自动录入今天的日期,日期列为空,报错如下图:
DrawCell 代码如下:
If e.Col.Name = "日期" Then If e.Row.IsNull("日期") = False Then If e.Row("日期") <= e.Row("创建日期").AddDays(-8) Then e.Style = "样式7" End If If e.Row("创建日期").AddDays(-7) < e.Row("日期") And e.Row("日期") < e.Row("创建日期").AddDays(-5) Then e.Style = "样式6" End If If e.Row("创建日期") <= e.Row("日期").AddDays(-4) Then If e.Row("日期").AddDays(-3) < e.Row("创建日期") And e.Row("创建日期") < e.Row("日期").AddDays(-1) Then e.Style = "提前2" End If If e.Row("日期").AddDays(-2) < e.Row("创建日期") And e.Row("创建日期") < e.Row("日期").AddDays(0) Then e.Style = "提前1" End If End If
|
||||
-- 作者:xndd -- 发布时间:2018/11/15 14:23:00 -- 这个是日期值,不能这样比较的 |
||||
-- 作者:有点甜 -- 发布时间:2018/11/15 14:24:00 -- If e.Row.IsNull("日期") = False Then
改成
If e.Row.IsNull("日期") = False andalso e.row.isnull("创建日期") = false Then |
||||
-- 作者:湛江智 -- 发布时间:2018/11/15 14:31:00 -- 回复:(有点甜)If e.Row.IsNull("日期") = False Th... 甜甜,辛苦再看看了 新增行时,创建日期自动录入今天的日期,还是报错
加密狗不能升级了,高于2018-07-09版本打不开,不会意思哈
[此贴子已经被作者于2018/11/15 15:10:42编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/15 15:14:00 -- If e.Col.Name = "日期" Then
|
||||
-- 作者:湛江智 -- 发布时间:2018/12/21 11:08:00 -- 回复:(有点甜)If e.Col.Name = "日期" Then &... 上面代码报错 未找到类型 string 的公共成员 adddays 换一种思路,实现。下面代码怎么修改呢? Dim r As Row = Tables("工作日志").Current If r IsNot Nothing Then If e.Col.Name = "日期" Then If e.Row.IsNull("日期") = False AndAlso e.Row.isnull("创建日期") = False Then Dim dt As Date = r("创建日期") Dim dtf As Date = r("日期") Dim n As Integer = (dtf - dt).TotalDays If n = -3 Then \'如果已经过期 e.Style = "样式2" ElseIf n = -2 Then \'如果已经过期 e.Style = "样式1" ElseIf n = -1 Then \'如果已经过期 e.Style = "提前1" ElseIf n = 0 Then \'如果已经过期 e.Style = "提前2" ElseIf n = 1 Then \'如果已经过期 e.Style = "提前3" ElseIf n = 2 Then \'如果已经过期 e.Style = "提前4" ElseIf n = 3 Then \'如果已经过期 e.Style = "提前5" End If End If End If End If |
||||
-- 作者:有点甜 -- 发布时间:2018/12/21 11:13:00 -- Dim r As Row = e.Row If r IsNot Nothing Then If e.Col.Name = "日期" Then If e.Row.IsNull("日期") = False AndAlso e.Row.isnull("创建日期") = False Then Dim dt As Date = r("创建日期") Dim dtf As Date = r("日期") Dim n As Integer = (dtf - dt).TotalDays If n = -3 Then \'如果已经过期 e.Style = "样式2" ElseIf n = -2 Then \'如果已经过期 e.Style = "样式1" ElseIf n = -1 Then \'如果已经过期 e.Style = "提前1" ElseIf n = 0 Then \'如果已经过期 e.Style = "提前2" ElseIf n = 1 Then \'如果已经过期 e.Style = "提前3" ElseIf n = 2 Then \'如果已经过期 e.Style = "提前4" ElseIf n = 3 Then \'如果已经过期 e.Style = "提前5" End If End If End If End If |