收录日期:2018/07/18 14:14:08 时间:2016/05/21 14:08:19 标签:VCL组件开发及应用
部门编码:最长为12个字符长度,以数字作为部门编码,编号可分为四级,设置部门时自上而下进行设置。设置时部门编码不能重复。
编码含义:
若某企业下有三级部门,则一级部门编码可设置为001,二级部门编码为001001,三级部门编码为001001001。我想做这么一棵树,我应该如何判断部门的所属,即那个部门是根节点,那个是子节点呢?!望高手赐教!
使用Devexpress DBTreeView就搞定了!!!很简单的!!!
测试其长度!如length('xx')
一个表的记录的字段内容必须包含两个字段
一个字段指明部门的级别;一个字段指明部门的上级级别

这样,当从表中取记录的字段进行操作的时候,先判断部门级别,如果是第一级别,则直接做为根结点;如果不是第一级,则判断上级级别,依次类推,最后添加到相应的结点下做为子结点!

代码不用偶写了吧!?
你的部门编码已经反应了你的级别(长度)和父亲节点(编码-3).
是不是可以搞定了.
找当前节点的子节点
select * from 表 where 编码 like '当前节点编码%' and 长度=len(当前节点编码)+3
Delphi_Li(Delphi Li) Devexpress DBTreeView是什么控件在那里可以找到?
FSU(洋葱面) 谢谢你的函数!
FrameSniper(人类不能不吃饭@手机不能不充电.net) 我的表结构如下:
    department                   name NOT NULL,                /*部门号*/
    department_name              full_name NOT NULL,           /*部门名称 */
    description                  information not null,         /*部门描述*/ 
    principal_staff              staff_id not null,            /*部门负责*/       
    department_status            kind NOT NULL                 /*部门状态*/

tiexinliu(铁心刘)是的,我就是想根据部门号来判断部门的级别的!我可以试试你的方法!
我的个人意见是:只要数据库设计得合理,程序怎么做都是可以的
tiexinliu(铁心刘)我想知道,如果我想找当前节点的子节点的子节点怎么办?
如果我想找当前节点的子节点的子节点怎么办?
----------------------------------------------------------------------------
select * from 表 where 编码 like '当前节点编码%' and 长度=len(当前节点编码)+6
我想选中treeview的一个节点后,就在stringgrid的中显示该节点的所有子节点的信息,我应该在哪个事件中写代码?!谢谢!
我的表结构如下:
    department                   name NOT NULL,                /*部门号*/
    department_name              full_name NOT NULL,           /*部门名称 */
    description                  information not null,         /*部门描述*/ 
    principal_staff              staff_id not null,            /*部门负责*/       
    department_status            kind NOT NULL                 /*部门状态*/
请问如何根据部门号来创建树?可以给点具体实现的代码吗?部门号是三位为一个级别的。