Oracle Form Builder中使用树的心得

本文详细介绍了在Oracle Form Builder中使用层次树(hierarchy tree)的方法,包括树的属性、触发子(Built-in)以及生成树的多种方式。通过实例展示了如何设置树的属性、添加和删除节点,以及动态生成树数据。文章最后提到了在Form Builder中操作树的局限性和未来研究方向。
摘要由CSDN通过智能技术生成
 

一、树的简介

Developer 6.0以上版本提供了hierarchy tree(层次树)的概念,htree控件非常方便,只需要少量的编程即可实现显示层次结构的目的。

 

树的特有属性中如下几个较为重要:

l         多项选择(Multi-Selection):是否允许一次选中树的多个节点。如果不允许,那么              选中第二个节点时,第一个被选中的节点会取消选择。

l         记录组(Record Group):指定生成树的记录组的名字。

 

简单介绍一下跟树相关的触发子(Built-in):

l         FUNCTION GET_TREE_NODE_PROPERTY (item_name VARCHAR2, node NODE,   property NUMBER);

功能:取得树节点的属性

其中property有如下几种:

NODE_STATEEXPANDED_NODE(扩展节点)

COLLAPSED_NODE(收缩节点)

LEAF_NODE(叶节点)--注:不能展开或收缩

NODE_DEPTH:既节点在树中的层级。

NODE_LABEL:节点的显示文本

NODE_ICON:节点的图标

NODE_VALUE:节点的值。

例子:

DECLARE

   htree         ITEM;

   node_value    VARCHAR2(100);

BEGIN

   -- 得到树

   htree := Find_Item('tree_block.htree3');

   -- 得到当前选中节点的值

   node_value := Ftree.Get_Tree_Node_Property(htree, :SYSTEM.TRIGGER_NODE, Ftree.NODE_VALUE);

   ...

END;

注释:其中: SYSTEM.TRIGGER_NODE指当前选中的树节点。

l         FUNCTION GET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER);

功能:取得树的属性

其中property有如下几种:

DATASOURCE

RECORD_GROUP

QUERY_TEXT

NODE_COUNT:返回树中节点的个数。

SELECTION_COUNT

ALLOW_EMPTY_BRANCHES

ALLOW_MULTI-SELECT

l         PROCEDURE SET_TREE_NODE_PROPERTY (item_name VARCHAR2,node FTREE.NODE,property NUMBER,value VARCHAR2);

功能:设置树节点的属性

l         PROCEDURE SET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER, value VARCHAR2);

PROCEDURE SET_TREE_PROPERTY (item_name VARCHAR2,property NUMBER, value RECORDGROUP);

功能:设置树的属性

l         PROCEDURE POPULATE_TREE (item_name VARCHAR2);

功能:清空树中已有数据,并根据记录组或数据查询重新生成树。

l         PROCEDURE ADD_TREE_DATA (item_name VARCHAR2,node FTREE.NODE, offset_type NUMBER,offset NUMBER,data_source NUMBER,data VARCHAR2);

功能:在指定节点下添加树中数据

注:使用比较麻烦。

l         FUNCTION FIND_TREE_NODE(item_name VARCHAR2,earch_string VARCHAR2,   search_type NUMBER,search_by NUMBER,search_root NODE,start_point NODE);

功能:找到显示文本或值符合search_string的节点。

参数:

search_typeFIND_NEXT

           

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值