以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]仿照统计筛选,出现的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93791) |
-- 作者:pladic -- 发布时间:2016/12/7 10:16:00 -- [求助]仿照统计筛选,出现的问题 生成了目录树,但没有统计数据。 nd.text & "(" & dt.Compute("Sum(份数)","一级 = " & one) & "份)" 这行语句没有正常运行。不显示统计数字和“份”字 窗口表事件
窗口与控件事件
订刊分级统计表_AfterLoad
\'首先生成统计表 Dim dt As DataTable Dim b As New GroupTableBuilder("订刊分级统计表",DataTables("订户信息表")) b.Groups.AddDef("一级") b.Groups.AddDef("二级") b.Groups.AddDef("三级") b.Totals.AddDef("份数") \'添加份数列用于统计 b.Build \'生成统计表 \'MainTable = Tables("订刊分级统计表") \'打开生成的统计表 \'参数设置为False,生成一个临时表,不在主界面显示 \'然后根据统计表生成目录树 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 one As String = nd.DataRow("一级") Dim two As String = nd.DataRow("二级") Dim three As String = nd.DataRow("三级") Select Case nd.Level Case 0 nd.Text = nd.text & "(" & dt.Compute("Sum(份数)","一级 = " & one) & "份)" Case 1 nd.Text = nd.text & "(" & dt.Compute("Sum(份数)","一级 = " & one & " And 二级 = " & two) & "份)" Case 2 nd.Text = nd.text & "(" & nd.DataRow("份数") & "份)"
End Select Next trv.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(份数)") & "份)",0) trv.ResumeRedraw
订刊分级统计表_TreeView1_NodeMouseDoubleClick
Dim Filter As String = "" If e.Node.Name <> "加载所有行" Then \'要用Name属性,不能用Text属性 Dim one As String = e.Node.DataRow("一级") Dim Two As String = e.Node.DataRow("二级") Dim three As String = e.Node.DataRow("三级") Select Case e.Node.Level Case 0 Filter ="一级 = " & one Case 1 Filter ="一级 = " & one & " And 二级 = " & two Case 2 Filter ="一级 = " & one & " And 二级 = " & two & " And 三级 = \'" & three & "\'" End Select End If
DataTables("订户信息表").LoadFilter = Filter DataTables("订户信息表").Load()
|
-- 作者:有点色 -- 发布时间:2016/12/7 10:26:00 -- 要加单引号
nd.text & "(" & dt.Compute("Sum(份数)","一级 = \'" & one & "\'") & "份)" |
-- 作者:pladic -- 发布时间:2016/12/7 10:46:00 -- 回复:(有点色)要加单引号 nd.text & ... 在哪儿加单引号?必须的吗? 给写个例子吧。
|
-- 作者:有点蓝 -- 发布时间:2016/12/7 11:05:00 -- 凡是字符列都要加单引号,参考2楼改 Select Case e.Node.Level Case 0 Filter ="一级 = \'" & one & "\'" |
-- 作者:pladic -- 发布时间:2016/12/7 11:22:00 -- nd.Text = nd.text & "(" & dt.Compute("Sum(份数)","一级 = " & one) & "份)"
这句的单引号加在哪儿?
|
-- 作者:有点色 -- 发布时间:2016/12/7 11:35:00 -- nd.Text = nd.text & "(" & dt.Compute("Sum(份数)","一级 = \'" & one & "\'") & "份)" |