Foxtable(狐表)用户栏目专家坐堂 → GenerateTree生成目录树的排序


  共有3362人关注过本帖树形打印复制链接

主题:GenerateTree生成目录树的排序

帅哥哟,离线,有人找我吗?
lake163
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
GenerateTree生成目录树的排序  发帖心情 Post By:2016/7/23 16:41:00 [只看该作者]

GenerateTree生成目录树的方式:

GenerateTree(DataTableName, PathCol, TextCol, Separator, Filter, Sort)

帮助中,对于其中sort参数如何使用未作介绍,也无示例。

现在就碰到需要用此生成目录树,同时需另外指定排序列的情况。如下:

 

一张表,其中列code2是级码,name是单位名称,type是单位类型,jgpx是单位排序。

Code结构:333333\XX\XXXXXX\XXXXX\XXXXX

第一段五位数:统一的,不管

第二段两位数:直接按此排序即可

第三段五位数:一级单位

第四段五位数:一级单位

第五段五位数:一级单位

应用   trv.GenerateTree("jgsy","code2","name")

 生成的目录树,目录结构基本正确,但排序的方式不是要求的。希望的单位排序如下:

第二段:直接按code中排序

第三段:按jgpx进行排序

第四段:先按type排序,再按jgpx排序

第五段:同第四段


请问如何解决?


<!--[endif]-->

[此贴子已经被作者于2016/7/24 9:01:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2016/7/24 8:15:00 [只看该作者]

修改后附件无法上传了

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/24 9:50:00 [只看该作者]

 要用递归处理的,参考

 

http://www.foxtable.com/webhelp/scr/2502.htm

 

 不会做,上传具体实例


 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2016/7/24 11:04:00 [只看该作者]

附件见下,其中的排序只是模拟,code原来是用“-”间隔的,为了排序,改用“\"间隔

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.foxdb

[此贴子已经被作者于2016/7/24 11:05:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/24 12:20:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test (1).foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2016/7/24 17:39:00 [只看该作者]

谢谢大红袍老师!
下一步,再为每个节点加上图标,很快就能接近原系统的目录树形式了。

经过测试发现:
(1)使用“-"分隔是可以的,这样就可直接使用原CODE,不必转换。
 (2)采取这种方式,每个节点在数据库中都要有一行,包括根节点、一级节点,否则生成不了
目录树。 而原系统中根节点、一级节点是无数据行的,所行移植代码时,一开始总是生成不了目录树。后来人工添加后就好了。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/25 9:16:00 [只看该作者]

如果你根节点、一级节点等没有一行数据的话,你那个节点的name如何表示?直接表示为code的值?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/25 10:09:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test (1) (1).foxdb


 回到顶部