Foxtable(狐表)用户栏目专家坐堂 → 通过表达式列,是否能够计算两列日期之间的天数?


  共有2309人关注过本帖树形打印复制链接

主题:通过表达式列,是否能够计算两列日期之间的天数?

帅哥哟,离线,有人找我吗?
guosheng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
通过表达式列,是否能够计算两列日期之间的天数?  发帖心情 Post By:2018/7/2 11:08:00 [只看该作者]

通过表达式列,是否能够计算两列日期之间的天数?
如果表达式列不能实现,通过代码计算天数的话,应该将相应的代码放到哪个位置啊?

例如:
If e.DataRow.IsNull("计划完成时间")=False
 Dim jjdq As timespan= Cdate(e.DataRow("计划完成时间"))-rq
       If e.DataRow.IsNull("实际完成时间")
             e.DataRow("即将到期天数")=jjdq.totaldays
       End If
      If jjdq.totaldays<0
           e.DataRow("即将到期天数")=Nothing
       End If
End If
[此贴子已经被作者于2018/7/2 11:17:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/2 11:26:00 [只看该作者]

代码写到datacolchanged事件

 

http://www.foxtable.com/webhelp/scr/1452.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
guosheng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/7/2 11:30:00 [只看该作者]

rq 为全局变量,记录系统当前日期。
如果代码写到表的datacolchanged事件,除非“计划完成时间”变化了才会触发事件吧。该写到哪里啊?(rq的变化引起事件间隔的变化)或怎么实现比较好啊。
[此贴子已经被作者于2018/7/2 11:38:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/2 11:40:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
guosheng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2018/7/2 12:59:00 [只看该作者]

通过GlobalVariableChanged事件,以下代码,怎么没有触发重置列啊。老师帮看看吧。

If e.name="rq"
Dim drs As List(Of DataRow)
    drs = DataTables("计划执行情况表").Select("实际完成时间 is null")
    If drs.count>0
    For Each dr As DataRow In drs
        DataTables("计划执行情况表").DataCols("计划完成时间").RaiseDataColChanged(dr)
    Next
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/2 14:38:00 [只看该作者]

1、要用vars变量

 

http://www.foxtable.com/webhelp/scr/0325.htm

 

2、代码改成

 

If e.name="rq"
    DataTables("计划执行情况表").DataCols("计划完成时间").RaiseDataColChanged("实际完成时间 is null")
End If


 回到顶部