以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请帮忙看看加载数据哪里有问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59482)

--  作者:liujywwy
--  发布时间:2014/11/5 9:42:00
--  [求助]请帮忙看看加载数据哪里有问题?

   If User.Name.Trim() = "liujiyong@bdcom.com.cn" Then
        DataTables("临时版本跟踪表").loadFilter = "状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\'"
        DataTables("临时版本跟踪表").Load()
        DataTables("需求明细表").LoadFilter = ""
    Else
        Select Case user.Group
            Case  "录入"
                If druser.Isnull("新负责人邮箱") Then
                    DataTables("需求明细表").LoadFilter = "技术支持邮箱 = \'" & User.Name.trim() & "\'"
                Else
                    DataTables("需求明细表").LoadFilter = "技术支持邮箱 = \'" & User.Name.trim() & "\' or 技术支持邮箱 in (\'" & druser("新负责人邮箱").Trim().Replace(",", "\',\'") & "\') "
                End If
            Case "审核"
                DataTables("需求明细表").LoadFilter = "流程 = \'" & user.Group & "\'"
            Case "协议一组","协议二组","交换组","R驱动组","S驱动组","EPON组","ONU组","网管组","网络组","路由组","PTN应用组","链路组"
                DataTables("临时版本跟踪表").LoadFilter = "研发邮箱 like \'%" & User.Name.trim() & "%"
            Case "测试epon"
                DataTables("临时版本跟踪表").LoadFilter = "邮件通知 like \'%eponver@bdcom.com.cn%\'"               
                DataTables("临时版本跟踪表").loadFilter = "状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\'"
                DataTables("临时版本跟踪表").Load()
            Case "测试switch"
                DataTables("临时版本跟踪表").LoadFilter = "邮件通知 like \'%switchver@bdcom.com.cn%\'"
                DataTables("临时版本跟踪表").loadFilter = "状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\'"
                DataTables("临时版本跟踪表").Load()
            Case "测试router"
                DataTables("临时版本跟踪表").LoadFilter = "邮件通知 like \'%routerver@bdcom.com.cn%\'"
                DataTables("临时版本跟踪表").loadFilter = "状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\'"
                DataTables("临时版本跟踪表").Load()
        End Select
    End If

 

以 case 匹配的是 测试epon为例。我想要的效果是,邮件通知里面包括eponver@bdcom.com.cn 且状态为confirming或Bound或Submitted的所有行数据。可实际加载不是我想的。

请帮忙看看。 

            Case "测试epon"
                DataTables("临时版本跟踪表").LoadFilter = "邮件通知 like \'%eponver@bdcom.com.cn%\'"               
                DataTables("临时版本跟踪表").loadFilter = "状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\'"
                DataTables("临时版本跟踪表").Load()


--  作者:有点甜
--  发布时间:2014/11/5 9:43:00
--  
                DataTables("临时版本跟踪表").LoadFilter = "邮件通知 like \'%eponver@bdcom.com.cn%\' And (状态 = \'Confirming\' or 状态 = \'Bound\'  or 状态 = \'Submitted\')"                
                DataTables("临时版本跟踪表").Load()
--  作者:liujywwy
--  发布时间:2014/11/5 9:58:00
--  

 Case "协议一组","协议二组","交换组","R驱动组","S驱动组","EPON组","ONU组","网管组","网络组","路由组","PTN应用组","链路组"
                DataTables("临时版本跟踪表").LoadFilter = "研发邮箱 like \'%" & User.Name.trim() & "%"

红色代码哪里有问题?


--  作者:有点甜
--  发布时间:2014/11/5 10:03:00
--  
DataTables("临时版本跟踪表").LoadFilter = "研发邮箱 like \'%" & User.Name.trim() & "%\'"
--  作者:liujywwy
--  发布时间:2014/11/5 10:38:00
--  


            Case "协议一组","协议二组","交换组","R驱动组","S驱动组","EPON组","ONU组","网管组","网络组","路由组","PTN应用组","链路组"
                DataTables("临时版本跟踪表").LoadFilter = "研发邮箱 like \'%" & User.Name.trim() & "%\'"

这段代码实现了每个组员看到各自的数据(只要是研发邮箱包括自己的账号)。

假如组长是A,底下有组员B,C,D。那么B,C,D肯定是只能看到各自的数据。但我想让组长A除了能看到自己的数据,也同时可以看到组员B,C,D的数据,这个如何实现呢。

 


--  作者:有点甜
--  发布时间:2014/11/5 10:41:00
--  
 定义用户角色,组长、组员。然后在下面再加一个角色的判断。
--  作者:liujywwy
--  发布时间:2014/11/5 10:50:00
--  

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

图片点击可在新窗口打开查看此主题相关图片如下:组员.png
图片点击可在新窗口打开查看
组长的角色是审核,组员是没有的,但属于一个组。
--  作者:有点甜
--  发布时间:2014/11/5 10:54:00
--  

 

[此贴子已经被作者于2014-11-5 10:54:19编辑过]

--  作者:有点甜
--  发布时间:2014/11/5 10:58:00
--  

 你循环所有的user,判断哪些用户是该组的,就把它们合并起来

 

If user.Roles = "审核" Then
    Dim str As String = "1=2"
    For Each u As UserInfo In users
        If u.Group = user.Group Then
            str &= " or 研发邮箱 like \'%" & User.Name.trim() & "%\'"
        End If
    Next
    DataTables("临时版本跟踪表").LoadFilter = str
Else
    DataTables("临时版本跟踪表").LoadFilter = "研发邮箱 like \'%" & User.Name.trim() & "%\'"
End If