以文本方式查看主题 - 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 上执行“<”操作。 列名-中标日期-为“日期时间型“ 加载树代码 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点,帮助文档的最后,就有筛选的代码,照抄就行啊。 |