初学狐表,想制作日报系统,应用到工作中。
1、导入"日报源表";
2、在项目事件BeforeLoadInnerTable中添加代码:
Dim zu As String = User.Group
If zu ="填报" Then
If e.DataTableName = "日报源表"
e.Filter = "[单位] = '" & e.User.Name & "'"
Else
e.Filter = "[单位]" =""
End If
End If
目的:根据用户组及用户名来加载"日报源表"。
3、在项目事件MainTableChanged中添加代码:
If MainTable.Name = "日报源表" Then
Dim tb As New DropTreeBuilder
tb.SourceTable = DataTables("日报源表") '指定目录树表
tb.TreeCols = "单位|厂家|产品|单价" '指定用于生成目录树的列
tb.SourceCols = "单位|厂家|产品|单价" '指定数据来源列
tb.ReceiveCols = "单位|厂家|产品|单价" '指定数据接收列
Tables("日报源表").Cols("单位").DropTree = tb.Build()
End If
With Tables("日报源表")
.Position = .Rows.Count - 1
End With
目的:打开项目时,自动根据"日报源表"的数据,生成目录树,用于填报,并返回最末行。
开发密码:123
现在的问题是:
1、在狐表的界面可以打开该项目,但是如果直接双击项目会出错,见下图,连续两次确定后,还是可以打开项目,问题可能出在项目事件MainTableChanged中添加的代码有误,如何解决?
此主题相关图片如下:捕获1.png

2、进入项目后,不能实现项目事件MainTableChanged中这段代码的目的,需要通过程序菜单再次打开项目,才能实现所需要的效果;而且切换工作组后,也需要重复打开两次,才能达到目的。
总之,感觉项目事件BeforeLoadInnerTable的代码有问题,需要各位老师帮助指教。
[此贴子已经被作者于2011-6-16 9:36:22编辑过]