Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
初学狐表,想制作日报系统,应用到工作中。
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中添加的代码有误,如何解决?
2、进入项目后,不能实现项目事件MainTableChanged中这段代码的目的,需要通过程序菜单再次打开项目,才能实现所需要的效果;而且切换工作组后,也需要重复打开两次,才能达到目的。
总之,感觉项目事件BeforeLoadInnerTable的代码有问题,需要各位老师帮助指教。
BeforeLoadInnerTable的事件代码应该是:
Dim zu As String = e.User.Group
If zu ="填报" Then
If e.DataTableName = "日报源表"
e.Filter = "[单位] = '" & e.User.Name & "'"
Else
e.Filter = "[单位]" =""
End If
End If
注意BeforeLoadInnerTable的说明中有一句话: 注意此事件必须通过e.User来引用用户。
谢谢狐狸爸爸,大问题解决了,怪自己太粗心,真该仔细看看帮助。
另外,好像还是不能通过切换用户功能键来切换用户,问题出在哪里?还请指教。