以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [讨论]时间差计算不能自动更新 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=35639) |
||||
-- 作者:benhu -- 发布时间:2013/6/29 9:42:00 -- [讨论]时间差计算不能自动更新 时间差计算:加入代码在系统打开后不能自更新天数,只维持第一次填日期时计算出的天数, 是不是Afterload这句有问题,还是放错地方了 在表属性DataColchanged中, Select Case e.DataCol.name Case "日期" If e.DataRow.IsNull("日期") Then e.DataRow("天数") = Nothing Else Dim tp As TimeSpan = Date.today - CDate(e.DataRow("日期")) e.DataRow("天数") = Math.Round(tp.TotalDays) End If End Select 在Afterload中加: DataTables("表A").DataCols("日期").RaiseDataColChanged()
|
||||
-- 作者:Bin -- 发布时间:2013/6/29 9:46:00 -- 上例子看看,代码是正确的.应该会重新计算的. |
||||
-- 作者:benhu -- 发布时间:2013/6/29 10:28:00 -- 传个例子,麻烦帮忙看看
[此贴子已经被作者于2013-6-29 10:28:40编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/6/29 10:44:00 -- 没有问题的啊,我测试都正常的啊.使用以下语句 DataTables("员工信息管理").DataCols("合同开始日期").RaiseDataColChanged()
|
||||
-- 作者:benhu -- 发布时间:2013/6/29 10:54:00 -- 此主题相关图片如下:a.bmp 可是我这里打开却是不能自动更新,会不会与锁定行有关,还是跟试用版有关
|
||||
-- 作者:Bin -- 发布时间:2013/6/29 11:01:00 -- 你的窗口打开事件并未发现有这段代码. 锁定行,是否试用版都没关系的(试用期过的了的话就不好说了) 我帮你把代码加载打开项目中了. |
||||
-- 作者:benhu -- 发布时间:2013/6/29 11:16:00 -- 谢谢。 但还是有一点小疑问:这句不是只要加在表属性的Afterload.事件中就可以了吗。为什么还要加在窗体事件中 DataTables("员工信息管理").DataCols("合同开始日期").RaiseDataColChanged()
|
||||
-- 作者:Bin -- 发布时间:2013/6/29 11:21:00 -- AfterLoad 如果还没有接触动态数据加载,可以暂时忽略本事件。 在重新加载数据后执行。 看清楚表AfterLoad事件的描述哦. |
||||
-- 作者:benhu -- 发布时间:2013/6/29 11:26:00 -- 好的,谢谢您的解答,改天我看再细看一遍 |