以下是引用fangling在2009-6-14 10:22:00的发言:
我理解楼主的意思,因为foxtable只有表事件,没有列事件,这可能是为了减低复杂程度。表的任何列发生改变都必须通过表事件来处理,而表事件是通过判断来确定变化的列;而列事件只是在该列的发生变化时才触发列事件。在有些场合代码写在列事件中比在表事件中执行效率要好一些。如果有必要,老六是否考虑增加一个列事件?
[此贴子已经被作者于2009-6-14 10:23:20编辑过]
呵呵,我也考虑过列事件,但是决大多数时候,列事件只是将代码搞得更为复杂,例如金额由数量、单价、折扣计算得出,那么同样的代码要设置在数量、单价、折扣三列的事件中,显然用表事件更为合理:
Select e.DataCol.Name
Case "数量","单价","金额"
e.DataRow("金额") = .....
Case "列1","列2"
e.DataRow("列3") = ...
Case "例5"
e.DataRow.Locked = True
End Select
这样不仅条理清晰,而且便于维护,这也是为什么最初的针对列的计算代码被删除的原因。
[此贴子已经被作者于2009-6-14 10:34:26编辑过]