以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动重置列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141817)

--  作者:18504175995
--  发布时间:2019/10/11 16:04:00
--  自动重置列
现在我在项目的AfterOpenProject事件中,写了如下代码

DataTables("海运发运明细").DataCols("后程日期组_实际到港").RaiseDataColChanged()

用来每次开启项目时,对"后程日期组_实际到港"列重置

可是随着数据的增加,这个代码严重影响了项目的开启速度

请问老师,能否在表属性的某个事件中设置类似的代码,让我们能够在此列选择哪些行就重置哪些?

代码怎么写?


--  作者:有点蓝
--  发布时间:2019/10/11 16:16:00
--  

详解RaiseDataColChanged

在进一步学习之前,有必要详细介绍一下RaiseDataColChanged方法。
这是DataCol的一个方法,用于强行触发该列的DataColChanged事件。

语法

RaiseDataColChanged()

RaiseDataColChanged(DataRow)

RaiseDataColChanged(Filter)

DataRow:可选参数,单单针对此行触发DataColChanged事件。
Filter:  可选参数,一个条件表达式,针对符合此条件的行触发DataColChanged事件。

如果没有给RaiseDataColChanged方法指定参数,则针对所有行触发DataColChanged事件。


--  作者:米德
--  发布时间:2019/10/11 21:00:00
--  
我也想问一下,我有一个出差日期列,一个归来日期列,通过代码核算得出差旅报销的出差天数,但是在afteropenproject项目事件输入重置出差日期列
DataTables("费用报销表").DataCols("出差日期").RaiseDataColChanged(),每次打开项目都发现并没有重置列,不知道是什么原因?

--  作者:有点蓝
--  发布时间:2019/10/11 21:53:00
--  
可能之后又重新加载了数据吧。打开项目后在命令窗口调用这个代码有没有效?
--  作者:米德
--  发布时间:2019/10/12 8:55:00
--  
可以了,这次很好,谢谢