以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  加载树求解  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79778)

--  作者:zoyong
--  发布时间:2016/1/8 16:57:00
--  加载树求解
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.12.22.1
错误所在事件:
详细错误信息:
无法在 System.String 和 System.DateTime 上执行“<”操作。


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


列名-中标日期-为“日期时间型“

加载树代码
If e.Node.Level = 0 Then \'如果是顶层节点
    If e.Node.Name="显示全部"  Then
        Tables("在建项目").Filter=""
        Return
    End If
        Dim nod As String =e.Node.Name
        Tables("在建项目").Filter= "资质 = \'" & nod & "\'"
    Else
        Dim nod As String =e.Node.Name
        Dim nd As String =e.Node.ParentNode.Name
        Dim d2 As Date =new Date(nod,1,1)
        Tables("在建项目").Filter = " 区域 < #" & d2.AddYears(1) & "# And 年份 >= #" & d2 & "# and 资质 Like \'*" & nd & "*\'"
    End If



求大神帮忙解决

--  作者:大红袍
--  发布时间:2016/1/8 17:09:00
--  

看看,你这个都有例子的。

 

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

 


--  作者:zoyong
--  发布时间:2016/1/8 17:22:00
--  
我现在的代码

\'首先生成统计表
Dim dt As DataTable
Dim b As New GroupTableBuilder("统计表1",DataTables("在建项目"))
b.Groups.AddDef("中标日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("中标日期",DateGroupEnum.Month,"月")
b.Groups.AddDef("资质")
b.Totals.AddDef("项目名称",AggregateEnum.Count,"订单数") \'根据客户列来统计记录数,也就是订单数
dt = b.Build(False) \'参数设置为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("月")
    Dim Product As String = 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) & ")"
        Case 2
            nd.Text = nd.text & "(" & nd.DataRow("订单数") & ")"
    End Select
Next
trv.Nodes.Insert("显示全部","显示全部(" & dt.Compute("Sum(订单数)") & ")",0)
trv.ResumeRedraw

--  作者:大红袍
--  发布时间:2016/1/8 17:31:00
--  
第6点,帮助文档的最后,就有筛选的代码,照抄就行啊。