以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  剩余工期,每天自动变化;  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=137742)

--  作者:zerozm
--  发布时间:2019/7/14 11:11:00
--  剩余工期,每天自动变化;

以前编写的代码在 

DataColChanged

中: 但是表格中数据没有变化时, 剩余工期就不会变化;还是前期的剩余天数;


剩余工期= 要求完成时间 - 今日时间


如何让剩余工期每天自动变更??

应该在什么地方写什么代码?

 

 

 

Dim tm001 As TimeSpan

Dim dm001 As Date = CurrentTable.Current("要求完成时间")
If e.DataRow.IsNull("要求完成时间") Then
e.DataRow("剩余工期") = Nothing
Else
tm001 = dm001 - Date.Today
e.DataRow("剩余工期") = tm001.TotalDays
End If

[此贴子已经被作者于2019/7/14 11:12:32编辑过]

--  作者:淡月斜阳
--  发布时间:2019/7/14 11:47:00
--  
用表达式列,或者查询表
[此贴子已经被作者于2019/7/14 11:46:53编辑过]

--  作者:y2287958
--  发布时间:2019/7/14 12:05:00
--  
代码没问题,在想要的地方(例如:项目打开后事件)重新刷新一下即可
--  作者:zerozm
--  发布时间:2019/7/14 14:55:00
--  

项目打开后,代码还是错误,请问如何编写代码。项目打开后自动更新日期。

 

我是新手,请尽量写详细点。谢谢各位老师。

 

 


图片点击可在新窗口打开查看此主题相关图片如下:3333.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/7/14 15:48:30编辑过]

--  作者:wei0769
--  发布时间:2019/7/14 20:30:00
--  
没有 e.datarow

图片点击可在新窗口打开查看此主题相关图片如下:360截图20190714202904656.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/7/14 20:30:10编辑过]

--  作者:zerozm
--  发布时间:2019/7/14 21:31:00
--  

 还是没有实现  剩余工期,每天自动变化; 


--  作者:有点蓝
--  发布时间:2019/7/15 8:51:00
--  
到afteropenproject事件写代码:

DataTables("某某表").datacols("要求完成时间").RaiseDataColChanged

--  作者:zerozm
--  发布时间:2019/7/15 13:31:00
--  

老师,我在窗口中 加入了一个按钮, 点击才执行 RaiseDataColChanged

但是我一点击“刷新工期”,应该就执行  RaiseDataColChanged

结果是:所有项目的“剩余工期”全部都变成了 一个数字;且感觉没什么逻辑关系。

隔会再点  “刷新工期”, 则 所有项目的“剩余工期”又变成另外一个 数字。

 

 

剩余工期= 要求完成时间 - 今日时间
要求完成时间 = 任务发起时间 + 要求工期

 

所以我按钮就是:  刷新工期 

 

DataTables("任务清单台账").datacols("要求工期").RaiseDataColChanged





此主题相关图片如下:刷新工期.png
按此在新窗口浏览图片
[此贴子已经被作者于2019/7/15 13:48:22编辑过]

--  作者:有点蓝
--  发布时间:2019/7/15 13:47:00
--  
datacolchanged事件写了什么代码?
--  作者:zerozm
--  发布时间:2019/7/15 13:50:00
--  

代码如下:
没有刷新的程序,以前是正常的。
增加刷新,就出错了。

 


图片点击可在新窗口打开查看此主题相关图片如下:刷新222.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/7/15 13:51:00编辑过]