我想设计一个公司人事管理软件.界面为左边为一个Treeview组件想象的功能是用户可以左边利用这个Treeview组件生成各上级部门信息,如人力资源部,经理办公室.在生成上级部门信息后,又可在生成上级部门的基础上生成它的下属部门如:人力资源部下又可生成多经营办公室.依此类推.可以在TreeView组件中建立一个上级部门以及它的下级部门.它的下级部门还可以在生成它的下级部门.
我对Treeview的用法查资料明白一些,但我不明白数据库关于和Treeview相联系存放结构的数据库.它的结构应该是怎样的?我怎样可以让这个数据库动态存放建立的新部门以及它的下级部门.以及在下级部门的基础上建立的它的下级部门.
请各位老师指教,如果网上有源码以及相关的数据库可以做参考无比感谢!
我对Treeview的用法查资料明白一些,但我不明白数据库关于和Treeview相联系存放结构的数据库.它的结构应该是怎样的?我怎样可以让这个数据库动态存放建立的新部门以及它的下级部门.以及在下级部门的基础上建立的它的下级部门.
请各位老师指教,如果网上有源码以及相关的数据库可以做参考无比感谢!
0 aaa
1 0 bbb
2 0 ccc
......
......
.....
没找到的,留个地址,发一份过去!
[email protected]
谢谢!
TVirtualDBTreeEx、TCheckVirtualDBTree、....etc.
我前一个项目就是用了这一整组,让我结了案、赚了钱。以下是我目前已实现的结构及操作:
.简单结构:Category = ID + Name + PID
.Primary Key 是 ID (我用 Access 的自动新增)
.Name:Not Null,但不须 Unique (树的观念一般是同层 Unique 即可)
.Foreign Key 是 PID references Category(ID),PID 是可 Null (表示最上层节点),强迫参考完整性、并串接删除 (Cascade Delete).Add root node:新增一个最上层节点
.Add child node:在某个节点下新增子节点
.name unique 检查:不论新增或是修改,树的原理是「同一层 unique 即可」,不须整个 table 范围的 unique
.in-place rename:也就是编修 Name 字段
.move subtree:整个子树用 drag-and-drop 拉到别的节点上,成为别的节点的 child,或是拉到最上层成为 root
.删除:简单了,只要底层 database 设定好,它自动就 cascade delete 了这个好东西:
.完全免费、附 Source Code、Help
.有专属讨论群组,最上层父类别的设计者 Mike 就是身兼版主,很愿意回复问题的一个德国人,只要你能发英文信,他不会让你独学无助的。从最上层的父类 TVirtualStringTree 开始的讨论,已经三年多的论坛了,前人的文章可以得到一些学习经验。当然,这中间也有一些小技巧,得靠自己去摸索,例如:它的 event 和 dataset event 之间的先后次序、它帮你做了什么?什么你得自己调适?....林林总总,有时会让你 debug 老半天的,这些我都是走过了,也多亏 Mike 很热心的和我 e-mail 讨论。