以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教数据目录树的建立 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32616) |
||||
-- 作者:瞩望星空 -- 发布时间:2013/5/5 11:27:00 -- 请教数据目录树的建立 在输入人员的部门分配时,想通过目录树形式来完成。为此,已建立一个单位编号与单位名称的对应表(单位) 分二个列,第一列为单位编号,5位数,顶层为00000,其后为00100,00110,00111,依次类推,第二列为单位名称。
现在想把“人员信息”表中的“单位”输入设置为目录树方式,请问如何修改?
项目文件:
[此贴子已经被作者于2013-5-5 11:31:01编辑过]
|
||||
-- 作者:lsy -- 发布时间:2013/5/5 11:51:00 -- 你这个实例,数据字典还方便些。 |
||||
-- 作者:瞩望星空 -- 发布时间:2013/5/5 12:05:00 -- 使用数据字典不方便。单位名称总共有100个左右,有层次分布,使用目录树较为合适。 好象我这个例子目录树要用到递归函数。 [此贴子已经被作者于2013-5-5 12:08:24编辑过]
|
||||
-- 作者:lsy -- 发布时间:2013/5/5 13:06:00 -- 以下是引用瞩望星空在2013-5-5 12:05:00的发言:
使用数据字典不方便。单位名称总共有100个左右,有层次分布,使用目录树较为合适。 好象我这个例子目录树要用到递归函数。 [此贴子已经被作者于2013-5-5 12:08:24编辑过] 你的编码不规范,用不上递归函数。 |
||||
-- 作者:瞩望星空 -- 发布时间:2013/5/5 13:13:00 -- 这是现有编号,不能修改。 |
||||
-- 作者:瞩望星空 -- 发布时间:2013/5/5 16:54:00 -- 从原理上来讲,应该是可以实现的。就是把最后的“0”去除,显示出层次。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/5/6 10:40:00 -- 你可以另外增加一个列,叫做“目录树编号”,这一列可以隐藏起来,以为这一列只是用于生成目录树。 然后设置Datacolchanged事件代码:
if e.datacol.name = "单位编号" Then e.Dataow("目录树编号") = e.DataRow("单位编号").Trim("0") end if
这样就可以按照下面的帮助生成目录树了: http://www.foxtable.com/help/topics/2502.htm
|
||||
-- 作者:瞩望星空 -- 发布时间:2013/5/7 0:13:00 -- 谢谢狐爸。 忙了几个小时,终于把目录树的效果搞出来了。 但还有二个问题: 1、目录树的“大队”、“小队”前面,显示了目录树编号,影响了效果。不知道如何去除。
2、双击目录树节点后,需要把相关的“单位编号”及“单位名称”填入到“ryxx”表中当前行对应的列中。 我写的代码不成功,能否可以修改:
内部函数: Dim nd As WinForm.TreeNode = args(0)
窗口调入代码: Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
目录树双击的代码: Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") e.Form.Close
项目文件如下:
access数据库文件(见一楼) [此贴子已经被作者于2013-5-7 11:47:27编辑过]
|