-- 作者:狐狸爸爸
-- 发布时间:2009/10/11 18:12:00
-- 10月11日重大更新
需要注意的是,今天的更新牵涉面较广,不排除会带来一些新的bug。 使用前请删除项目文件的Catch目录,清除一下缓存。 今后一年,应该不会再有如此重大的更新了。
1、窗口中使用很多Table时,窗口保存度问题已经解决,打开原有项目第一次保存窗口速度还是会慢,但是之后就快了
2、DataTable也提供了Fill方法,试用和Tale的Fill方法一样,例如:
DataTables("表A").Fill("Select * From {订单}", "",False)
3、项目属性增加全局表事件,包含了所有的表事件,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,也就是这四个全局表事件,默认对所有表有效。
[此贴子已经被作者于2009-10-11 18:12:08编辑过]
|