初始不加载表

BeforeLoadInnerTableBeforeLoadOuterTable事件都有一个Cancel属性,将此属性设置为True,将不加载对应的表。

示例一

例如在BeforeLoadInnerTable(内部表)或BeforeLoadOuterTable(外部表)中设置代码:

Select Case e.DataTableName
    Case "表A","表B" '表A和表B无条件加载
    Case "表C"
        If e.User.Type <> UserTypeEnum.Developer Then '只有开发者才加载表C
            e.Cancel = True
        End If
    Case Else '其他所有表默认都不加载
        e.Cancel =
True

End
Select

这样在打开项目的时候,表A和表B始终都会加载,表C只有在开发者打开项目的时候才会加载,而其它表都不会加载。

示例二

例如在BeforeLoadInnerTable(内部表)或BeforeLoadOuterTable(外部表)中设置代码:

Select Case e.DataTableName
   
Case "表A"
        e.Cancel = (e.User.Name =
"张三")
   
Case "表B"
        e.Cancel = (e.User.Name =
"李四")
   
Case "表C"
        e.Cancel = (e.User.Name =
"王五")
End
Select

这样张三打开项目,将不会加载表A,需要注意的是,如果打开项目后,有代码引用表A,将会出错,因为此时表A是不存在的。
同样李四打开项目不会加载表B,王五打开项目不会加载表C。
 

 


本页地址:http://www.foxtable.com/webhelp/topics/2752.htm