以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  新人求助 急急急 【已解决】  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=37589)

--  作者:ichoo31
--  发布时间:2013/7/5 19:24:00
--  新人求助 急急急 【已解决】

我建立了一个用户组:业务员

还建立了一个表:客户资料

客户资料的:所属顾问就是业务员名字

 

我想实现的功能是 业务员登陆这个客户资料表 只显示属于此业务员的行(也就说只显示列“所属顾问”数据为此登陆业务员名的行)

 

我用如下代码无法实现 亲大家帮忙看看 不胜感激 例子在附件 麻烦大神帮忙看下!!

 

我在表事件beforeload 添加了如下代码

If User.Group = "业务员" \'
    Dim fl As String = "[所属顾问] = \'" & User.Name & "\'"
    If e.DataTable.LoadFilter = "" Then
        e.DataTable.LoadFilter = fl
    ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then \'

        e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl
    End If
End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.rar

 

PS 谢谢下面回复我的朋友 最后我是在帮助里面找到的 用

LoadUserSetting

这个事件和代码

 

If User.Group = "765" Then
DataTables("订单").LoadFilter = ""
Else
DataTables("客户资料").LoadFilter = "所属顾问 = \'" & User.Name & "\'"
End If
DataTables("客户资料").Load()

[此贴子已经被作者于2013-7-6 0:41:58编辑过]

--  作者:有点甜
--  发布时间:2013/7/5 19:33:00
--  
代码没看出问题,你做个例子发上来看看。
--  作者:ichoo31
--  发布时间:2013/7/5 19:40:00
--  
是啊 代码应该没问题的 就是不执行 汗
--  作者:ichoo31
--  发布时间:2013/7/5 19:44:00
--  
附件已上传 您帮忙看下 谢谢啦!!!!!
--  作者:有点甜
--  发布时间:2013/7/5 19:57:00
--  

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目933.table

BeforeLoad只是打开项目后重新加载数据才执行,别忘记初始加载数据执行的是这个事件:

http://www.foxtable.com/help/topics/0669.htm

 


--  作者:ichoo31
--  发布时间:2013/7/5 22:12:00
--  
以下是引用有点甜在2013-7-5 19:57:00的发言:

 下载信息  [文件大小:284.0 KB  下载次数:0]
点击浏览该文件:管理项目933.table

BeforeLoad只是打开项目后重新加载数据才执行,别忘记初始加载数据执行的是这个事件:

http://www.foxtable.com/help/topics/0669.htm

 

多谢朋友!


--  作者:ichoo31
--  发布时间:2013/7/5 22:13:00
--  
非常感谢楼上的朋友:-)
--  作者:ichoo31
--  发布时间:2013/7/5 23:29:00
--  
以下是引用有点甜在2013-7-5 19:57:00的发言:

 下载信息  [文件大小:284.0 KB  下载次数:1]
点击浏览该文件:管理项目933.table

BeforeLoad只是打开项目后重新加载数据才执行,别忘记初始加载数据执行的是这个事件:

http://www.foxtable.com/help/topics/0669.htm

 

用这个事件可以实现我说的功能 不过只能以用户名来过滤 我用管理员登陆也看不到所有业务员的资料,我想用用户组来过滤 怎么实现呢,就是如果登陆用户是“业务员”组的用户 那就就只加载这个业务员下面的客户资料 如果登陆的用户是管理员则加载所有客户资料

 

盼回复!


--  作者:有点甜
--  发布时间:2013/7/6 8:22:00
--  

建议你将《权限管理》这一章看完,从这一节开始:

http://www.foxtable.com/help/topics/2253.htm

 

里头有你需要的全部内容。

 

当然《动态加载》也是必须看的:

http://www.foxtable.com/help/topics/1268.htm

 

 


--  作者:有点甜
--  发布时间:2013/7/6 8:28:00
--  

例如,你要管理员可开发者看懂所有数据,代码改为:

 

If e.DataTableName = "客户资料" Then
    If e.User.Type = UserTypeEnum.User Then \'如果是普通用户
        e.Filter = "[所属顾问] = \'" & e.User.Name & "\'"
    End If
End If

 

你要根据用户分组,那么e.User.Name改为e.User.Group