ITPub博客

首页 > 数据库 > Oracle > tree

tree

原创 Oracle 作者:YoungEric 时间:2007-10-12 10:14:52 0 删除 编辑
p.s http://www.itpub.net/858473.html[@more@]现讲述我所测试出的一种显示树的简单方法,步骤如下:

1.向画布中拖入一个树控件,
将树命名为test_tree,将test_tree所在的block命名为tree_block.

2.建立一个record_group,命名为test_tree_group.
前提:存在一张具有父子结构的表.
技术:利用树的查询语句(connect by…prior…start with…)
原则: select 后面的字段列表必须满足以下特定格式:
select 1,--这个位置的值表示树显示出来后的初始状态(1 表示展开,-1 表收缩,其它值表示叶节点)
level,--节点所在层数
menu_name,--显示文本
NULL,--显示在节点前的图标(这个列也是不可缺少的!)
menu_code --值(真真的值)
from p_auth_menu
connect by prior menu_code = upside_code
start with menu_code = 'YFOS000'

3.打开test_tree树的属性面版,设置属性record_group为test_tree_group

4.在when-new-form-instance中实现树的显示,代码如下:
DECLARE
v_errcode NUMBER;
BEGIN
GO_BLOCK('TREE_BLOCK');
v_errcode := POPULATE_GROUP('TEST_TREE_GROUP');
--POPULATE_GROUP功能:执行记录组查询,返回数字0表明成功,非0表失败
IF v_errcode = 0 THEN
FTREE.POPULATE_TREE('TEST_TREE');
--功能:显示树
END IF;
END;

以上为最简单的方法显示树,但简单方法往往灵活性不够,不能解决一些实际当中的复杂问题.
更多更复杂但也灵活的创建并显示树的方法,推荐大家参考网上 一文

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-976092/,如需转载,请注明出处,否则将追究法律责任。

下一篇: FORM!
请登录后发表评论 登录
全部评论

注册时间:2007-12-18

  • 博文量
    79
  • 访问量
    211181