Foxtable(狐表)用户栏目专家坐堂 → 求助:加载树权限问题


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

主题:求助:加载树权限问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/20 17:22:00 [只看该作者]

 例子说话好吧?其它地方影响了。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 17:24:00 [只看该作者]

If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer Then
    Filter= "(" & Filter & ") and HGB402 = '" & User.Name & "'"
End If
DataTables("CSsmdj").LoadFilter = Filter
DataTables("CSsmdj").Load()

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(有点甜) 例子说话好吧?其它地方影响了...  发帖心情 Post By:2014/6/20 18:05:00 [只看该作者]

增加行:用户组为“医疗机构”
e.DataRow("HGB402") = User.Name

DataColchanged事件:用户组分别为“发证机关”和“公安机关”
If e.DataCol.Name = "BCNo" Then
    e.DataRow("签发机关") = User.Name
    e.DataRow("签发日期") = Date.Now
End If

If e.DataCol.Name = "GB307" Then
    e.DataRow("登记机关") = User.Name
    e.DataRow("登记日期") = Date.Now
End If

项目事件 LoadUserSetting 用户组为“医疗机构”

If User.Name = "管理员" Then

    DataTables("CSsmdj").LoadFilter = ""

Else

    DataTables("CSsmdj").LoadFilter = "HGB402 = '" & User.Name & "'"

   End If

DataTables("CSsmdj").Load()

 

 

If User.Name = "管理员" Then

    DataTables("单位").LoadFilter = ""

Else

    DataTables("单位").LoadFilter = "GS607 = '" & User.Name & "'"

End If

DataTables("单位").Load()



是否是上述代码有问题?


做例子有点麻烦,现在的项目表都是外部sql数据,内部表的原理是否相通?



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/20 18:06:00 [只看该作者]

 做个内部表的例子发上来,一样的。

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(有点甜)?例子说话好吧?其它地方影响了...  发帖心情 Post By:2014/6/20 23:33:00 [只看该作者]

找到问题所在了。列名变更后没有修改BeforeLoad中的代码(GB402应改为HGB402),修改后的代码如下:


If User.Group = "医疗机构" '如果用户分组是医疗机构

    Dim fl As String = "[HGB402] = '" & 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


以上代码在切换为用户(如:第一人民医院),会将[HGB402]=“第一人民医院”的数据全部加载(上千条数据),影响速度。


如何修改加上只加载7天以内的数据(最近7天内的出生,列名是“GB311”)的条件?求老师赐教!


代码这样写可以不?

If User.Group = "医疗机构" '如果用户分组是医疗机构

    Dim fl As String = "[HGB402] = '" & User.Name & "'and [GB311]>= Date.Now.AddDays( -10) "

    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

[此贴子已经被作者于2014-6-21 23:20:04编辑过]

 回到顶部
总数 15 上一页 1 2