Foxtable(狐表)用户栏目专家坐堂 → 关于项目属性里的“全局表事件”怎么用啊~


  共有17228人关注过本帖树形打印复制链接

主题:关于项目属性里的“全局表事件”怎么用啊~

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/12/14 15:31:00 [显示全部帖子]

if maintable.name="表B" then
       Forms("窗口1").open()
end if

应该是:

If e.Datatable.Name="表B" then
       Forms("窗口1").open()
end if

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/12/14 16:17:00 [显示全部帖子]

项目属性增加全局表事件,包含了所有的表事件,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,也就是这四个全局表事件,默认对所有表有效。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/12/14 16:45:00 [显示全部帖子]

当然是AfterOpenProject事件中了

 回到顶部