Foxtable(狐表)用户栏目专家坐堂 → [求助]根据登录名加载数据出错!(已解决)


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

主题:[求助]根据登录名加载数据出错!(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]根据登录名加载数据出错!(已解决)  发帖心情 Post By:2011/6/15 20:48:00 [只看该作者]

初学狐表,想制作日报系统,应用到工作中。
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

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产日报.table

 


现在的问题是:
1、在狐表的界面可以打开该项目,但是如果直接双击项目会出错,见下图,连续两次确定后,还是可以打开项目,问题可能出在项目事件MainTableChanged中添加的代码有误,如何解决?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

2、进入项目后,不能实现项目事件MainTableChanged中这段代码的目的,需要通过程序菜单再次打开项目,才能实现所需要的效果;而且切换工作组后,也需要重复打开两次,才能达到目的。
总之,感觉项目事件BeforeLoadInnerTable的代码有问题,需要各位老师帮助指教。

[此贴子已经被作者于2011-6-16 9:36:22编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/15 21:43:00 [只看该作者]

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来引用用户。

 

 

 


[此贴子已经被作者于2011-6-15 21:43:55编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/6/15 22:10:00 [只看该作者]

谢谢狐狸爸爸,大问题解决了,怪自己太粗心,真该仔细看看帮助。

另外,好像还是不能通过切换用户功能键来切换用户,问题出在哪里?还请指教。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/15 22:14:00 [只看该作者]

我测试可以切换用户

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/6/15 23:07:00 [只看该作者]

可能因为是试用版的关系?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/6/16 7:55:00 [只看该作者]

试用版的功能又不影响的.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/16 8:10:00 [只看该作者]

楼主升级到最新的版本看看

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/6/16 9:45:00 [只看该作者]

终于搞明白了,项目事件BeforeLoadInnerTable是需要打开项目时加载数据,而切换用户时并不能触发BeforeLoadInnerTable事件来根据登录用户重新加载所需数据。谢谢各位指点。

 回到顶部