以文本方式查看主题

-  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=48727)

--  作者:wh420
--  发布时间:2014/4/3 17:43:00
--  如何生成目录树的时候再增加一个录入员等于某某的条件?

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

下列代码中只统计了某年、某月的记录数,如何再加一个条件让其统计出:某年、某月、录入员为张三的记录数?(界面不变,只是记录数多了录入员为某某的条件)

Dim dt As DataTable
        Dim b As New GroupTableBuilder("统计表1",DataTables("TranFee"))
        b.Groups.AddDef("StartDate",DateGroupEnum.Year,"年")
        b.Groups.AddDef("StartDate",DateGroupEnum.Month,"月")

        b.Totals.AddDef("AddPersion",AggregateEnum.Count,"记录数") \'AddPersion为录入员字段
        b.FromServer = True
        dt = b.Build(False)
       
        Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
        trv.BuildTree(dt, "年|月")
        trv.StopRedraw
        For Each nd As WinForm.TreeNode In trv.AllNodes
            Dim Year As Integer = nd.DataRow("年")
            Dim Month As Integer = nd.DataRow("月")
            Select Case nd.Level
                Case 0
                    nd.Text = nd.text & "年(" & dt.Compute("Sum(记录数)","年 = " & Year) & "条)"
                Case 1
                    nd.Text = nd.text & "月(" & dt.Compute("Sum(记录数)","年 = " & Year & " And 月 = " & Month) & "条)"
                    
            End Select
        Next
        
        trv.Nodes.Insert("加载所有数据","加载所有数据(" & dt.Compute("Sum(记录数)") & "条)",0)
        trv.ResumeRedraw


--  作者:Bin
--  发布时间:2014/4/3 17:46:00
--  
dt.Compute("Sum(记录数)","年 = " & Year & " And 月 = " & Month & " and 录入员=\'张三\'") 
--  作者:wh420
--  发布时间:2014/4/4 10:44:00
--  
麻烦您再详细点吧,感觉还是不太对啊。统计表里没有产生录入员的字段啊。
我定义了全局变量Public _UserName As String

--  作者:Bin
--  发布时间:2014/4/4 10:56:00
--  
应该是你再详细一点,感觉还是不太对.没理解你到底想要实现什么效果.  你树都没有每个产生录入员的节点啊.
--  作者:wh420
--  发布时间:2014/4/4 10:59:00
--  
自行解决,谢谢BIN老师启发

我在上面加了一句:b.Filter = "AddPersion=\'" & _UserName & "\'"

--  作者:wh420
--  发布时间:2014/4/4 11:05:00
--  
再追问个问题:上面的带码我会经常重复使用,如何能够高效的调用 呢?是自定义函数还是?