项目属性增加全局表事件,包含了所有的表事件,DataTable增加一个GolbalHandler属性,该属性决定此DataTable会触发那些表事件。
例如我们将全局表事件PrePareEdit事件设为:
e.Cancel = True
按道理所有的表都是不能编辑的,但是实际上所有的表还是可以编辑,如果你在命令窗口执行:
DataTables("表A").GlobalHandler.PrepareEdit = True
执行后,表A将不能被编辑,因为执行上述代码后,表A才开始触发全局表事件PrepareEdit。
GlobalHandler包括以下成员:
PrepareEdit
StartEdit
SetupEditor
ValidateEdit
AfterEdit
CellButtonClick
DoubleClick
ChangeEdit
KeyPressEdit
KeyDownEdit
KeyUpEdit
CurrentChanged
PositionChanged
BeforeSelChange
BeforeSelRangeChange
AfterSelChange
AfterSelRangeChange
BeforeDragColumn
AfterDragColumn
BeforeFreezeColumn
AfterFreezeColumn
BeforeResizeColumn
AfterResizeColumn
BeforeResizeRow
AfterResizeRow
DrawCell
DataColChanging
DataColChanged
DataRowAdding
DataRowAdded
DataRowDeleting
DataRowDeleted
BeforeAddDataRow
BeforeDeleteDataRow
BeforeLockDataRow
AfterLockDataRow
BeforeUnlockDataRow
AfterUnlockDataRow
BeforeShowContextMenu
BeforeSaveDataRow
BeforeRowCheck
AfterRowCheck
KeyDown
KeyUp
只有将某属性设为True,对应的全局表事件才会触发,不过CurrentChanged、PositionChanged、AfterSelChange、AfterSelRangeChange这四个成员默认值为True,也就是这四个全局表事件,默认对所有表有效。