以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助] 目录树 部门值重复了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93627)
|
-- 作者:misamisali
-- 发布时间:2016/12/2 15:05:00
-- [求助] 目录树 部门值重复了
我按照教程,通过Node mouseclick 事件,按部门生成目录树, 但是不晓得怎么去除重复值,代码要怎么修。
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("年份") & "\'" End Select End If Dim s As String = DataTables("考勤统计表").GetComboListString("部门") output.show(s) Tables("考勤统计表").Filter = Filter 此主题相关图片如下:重复值目录树.png
|
-- 作者:有点蓝
-- 发布时间:2016/12/2 15:23:00
--
上面的代码是做筛选的吧。和生成目录树有关系?
|
-- 作者:misamisali
-- 发布时间:2016/12/2 15:26:00
--
窗口 AFTERLOAD 事件是这样的:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree("考勤统计表", "年份|月份|部门") trv.Nodes.Insert("显示所有行",0)
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2") trv2.BuildTree("考勤统计表", "部门") trv2.Nodes.Insert("显示所有行",0)
此主题相关图片如下:目录树.png
按时间筛选没有问题的
[此贴子已经被作者于2016/12/2 15:26:41编辑过]
|
-- 作者:有点蓝
-- 发布时间:2016/12/2 15:40:00
--
应该是你的部门数据有空格吧
|
-- 作者:有点蓝
-- 发布时间:2016/12/2 15:42:00
--
执行代码清除一下空格试试
For Each dr As DataRow In DataTables("考勤统计表").DataRows dr("部门") = dr("部门").trim() Next
|
-- 作者:misamisali
-- 发布时间:2016/12/2 15:43:00
--
按理,我想实现的效果是,打开一个节点“部门”,次节点“2016年”,这样子的,
但是现在就是有几个月的数据, 目录树里就有 那么多个部门,不是部门空值问题。
|
-- 作者:有点蓝
-- 发布时间:2016/12/2 15:45:00
--
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2") trv2.BuildTree("考勤统计表", "部门|年份") trv2.Nodes.Insert("显示所有行",0)
|
-- 作者:misamisali
-- 发布时间:2016/12/2 15:54:00
--
是空格的问题,谢谢!
|