以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 逻辑问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173008) |
-- 作者:鲁吉 -- 发布时间:2021/11/10 16:02:00 -- 逻辑问题 当开工时间早于本年第一天,则“开工性质”列自动显示为 “续建” ,晚于本年第一天则“开工性质”列自动显示为 “新建” 如何设计代码?
[此贴子已经被作者于2021/11/10 16:02:54编辑过]
|
-- 作者:鲁吉 -- 发布时间:2021/11/10 16:13:00 -- Dim y As Integer = Date.today.year \'指定年份 Dim dt1 As New Date(y, 1, 1) Dim k As String = Tables("项目列表").Current("开工情况") If Tables("项目列表").Current("开工时间") > = dt1 Then k = "新开" Else k = "续建" End If 以上代码没起作用
|
-- 作者:minxizai -- 发布时间:2021/11/10 16:16:00 -- Dim FirstDay As Date = New Date(2021,1,1) if e.datarow.isnull("开工时间") then else if e.datarow("开工时间") < FirstDay thene.datarow("开工性质") = "续建" else e.datarow("开工性质") = "新建" end if end if
[此贴子已经被作者于2021/11/10 16:17:43编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/11/10 16:16:00 -- Dim y As Integer = Date.today.year \'指定年份 Dim dt1 As New Date(y, 1, 1) If Tables("项目列表").Current("开工时间") > = dt1 Then Tables("项目列表").Current("开工情况") = "新开" Else Tables("项目列表").Current("开工情况") = "续建" End If
|
-- 作者:有点蓝 -- 发布时间:2021/11/10 16:17:00 -- 或者 Dim y As Integer = Date.today.year \'指定年份 Dim dt1 As New Date(y, 1, 1) Dim k As String If Tables("项目列表").Current("开工时间") > = dt1 Then k = "新开" Else k = "续建" End If Tables("项目列表").Current("开工情况") = k
|
-- 作者:鲁吉 -- 发布时间:2021/11/10 16:45:00 -- 把这些代码放在了表事件 加载后执行afterload 没有任何效果 |
-- 作者:有点蓝 -- 发布时间:2021/11/10 16:46:00 -- 代码放在哪个表事件? |
-- 作者:鲁吉 -- 发布时间:2021/11/10 16:47:00 -- afterload |
-- 作者:有点蓝 -- 发布时间:2021/11/10 16:57:00 -- Tables("项目列表").Current指的是当前行,只有一行数据起作用。如果要所有行有效,到datacolchanged事件处理,加载后重置一次列 |
-- 作者:鲁吉 -- 发布时间:2021/11/10 17:12:00 -- datacolchanged事件是数据发生变化后,可是比较的是本年第一天,并不在表的数据列。目前任何行都没有出现变化(没有给“开工情况”列的当前格赋值) [此贴子已经被作者于2021/11/10 17:14:20编辑过]
|