以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不同用户对应诗选树编码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68539)

--  作者:wgs813
--  发布时间:2015/5/20 9:37:00
--  不同用户对应诗选树编码

不同的用户编辑不同的行,我用下面的代码实现了

 

2、然后在订单表的DataRowAdding事件中加入代码:

e.DataRow("业务员") = User.name

这样新增订单的时候,会自动在业务员列填入当前登录用户名。

 

3、最后将订单表的PrepareEdit事件设置为:

If e.Row("业务员") <> User.Name Then
    e.Cancel =
True
End If

 

4、在订单表AfterOpenProject  事件中 实现了不同的用户编辑不同的行

 

Tables("表A").Filter="业务员=\'" & User.name & "\'"

 

5、我现在简历了一个窗口,建立一个筛选树,使用下面两段代码

 

  Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("设备台账", "设备名称|本公司设备编号|放置地点")
trv.Nodes.Insert("显示所有行",0)
trv.ResumeRedraw

 

 

 

Tables("表A").Filter="业务员=\'" & User.name & "\'"

Dim Filter As String

Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行

If e.Node.Text <> "显示所有行" Then

    Select Case e.Node.Level

        Case 0

            Filter = "[设备名称] = \'" & dr("设备名称") & "\'"

        Case 1

            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\'"

        Case 2

            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\'And [放置地点] = \'" & dr("放置地点") & "\'"

    End Select

End If

Tables("设备台账").Filter = Filter

 

6、我希望筛选树只对应录入用户的信息进行筛选,上段代码产生的筛选树现实的是所有的用录入信息~~求帮助

 


--  作者:Bin
--  发布时间:2015/5/20 9:42:00
--  
Tables("设备台账").Filter = Filter & "and 录入用户=\'" & user.name & "\'"
--  作者:wgs813
--  发布时间:2015/5/20 10:07:00
--  

Tables("表A").Filter="业务员=\'" & User.name & "\'"

Dim Filter As String

Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行

If e.Node.Text <> "显示所有行" Then

    Select Case e.Node.Level

        Case 0

            Filter = "[设备名称] = \'" & dr("设备名称") & "\'"

        Case 1

            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\'"

        Case 2

            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\'And [放置地点] = \'" & dr("放置地点") & "\'"

    End Select

End If

Tables("设备台账").Filter = Filter & "and 录入用户=\'" & user.name & "\'"

 

我输入以上代码后,出现:

 


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

 

什么原因?


--  作者:大红袍
--  发布时间:2015/5/20 10:11:00
--  

Tables("表A").Filter="业务员=\'" & User.name & "\'"

Dim Filter As String = "1=1"

Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行

If e.Node.Text <> "显示所有行" Then
   
    Select Case e.Node.Level
       
        Case 0
           
            Filter = "[设备名称] = \'" & dr("设备名称") & "\'"
           
        Case 1
           
            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\'"
           
        Case 2
           
            Filter = "[设备名称] = \'" & dr("设备名称") & "\' And [本公司设备编号] = \'" & dr("本公司设备编号") & "\' And [放置地点] = \'" & dr("放置地点") & "\'"
           
    End Select
   
End If


Tables("设备台账").Filter = Filter & " and 录入用户=\'" & user.name & "\'"


--  作者:wgs813
--  发布时间:2015/5/21 20:05:00
--  

谢谢