以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  追问条件加载的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61149)

--  作者:土佛
--  发布时间:2014/12/8 9:06:00
--  追问条件加载的问题

老师好!我在BeforeLoad事件中用了下面代码,希望通过加载树加载时,制造部的人只能加载"[类别]列 <> \'胶水\'的行,但是下面的代码没用,请老师帮忙诊断一下,谢谢

Select Case e.DataTable.Name
    Case "DK"
        Select Case User.Group

            Case "制造部"
                Dim f3 As String =  "[类别] <> \'胶水\' "
                DataTables("DK").LoadFilter = f3
                DataTables("DK").Load()
        End Select
End Select

 

我也尝试用了下面的另一段代码,也无效

        Case "DK"
        Select Case User.Group 
        Case "制造部"
        Dim f3 As String =  "[类别] = \'胶水\' "
        If e.DataTable.LoadFilter = "" Then
        e.DataTable.LoadFilter = f3
        ElseIf e.DataTable.LoadFilter.IndexOf(f3) < 0  Then  

        e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " &  f3
        End If
        End Select

End Select


--  作者:Bin
--  发布时间:2014/12/8 9:10:00
--  

Select Case e.DataTable.Name
    Case "DK"
        Select Case User.Group

            Case "制造部"
                Dim f3 As String =  "[类别] <> \'胶水\' "
                DataTables("DK").LoadFilter = f3
                DataTables("DK").Load()
        End Select
End Select


不可能无效.除非没有进入到这个Case  你调试一下是否进入条件,  User.Group到底是什么   加载条件是没问题的


--  作者:土佛
--  发布时间:2014/12/8 9:47:00
--  
谢谢,是我刚才犯了一个错误,制造部应该是  “开发部”。但新的问题出来了,改完重新打开系统后,点加载树节点名,死机,请问这是什么原因
--  作者:有点甜
--  发布时间:2014/12/8 9:48:00
--  

  在beforeload事件,不要写Load代码啊,只需要设置LoadFilter

 

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

 


--  作者:土佛
--  发布时间:2014/12/8 9:55:00
--  

你说的有道理,我还是用我2楼的第二段代码,修改了一下User.Group,可以了。感谢二位,顺祝二位工作愉快!