ITPub博客

首页 > 数据库 > Oracle > 【EBS FORM】树的相关操作

【EBS FORM】树的相关操作

Oracle 作者:J_Force 时间:2016-06-01 17:09:07 0 删除 编辑
整理自:http://scenical.blog.163.com/blog/static/10610402013015115343548/

设置树:

数据块设置:   
    
新建控制块,新建项,类型层次树,子类TREE,F4,添加查询sql(有层次结构的,不能有分号)

显示树:
      when-new-form-instance中添加:FTREE.POPULATE_TREE('BLOCK_NAME.TREE_NAME');

设置、取得树的属性:
     DECLARE
            V_VALUE VARCHAR2(2000);
       BEGIN
            V_VALUE :=FTREE.GET_TREE_PROPERTY(‘BLOCK_NAME.TREE_NAME’,FTREE.QUERY_TEXT);
       END;

       FTREE.SET_TREE_NODE_PROPERTY
          (‘BLOCK_NAME.TREE_NAME’
             ,/*触发事件的节点*/ :SYSTEM.TRIGGER_NODE
             ,FTREE.NODE_VALUE
             ,‘NODE_VALUE’
          );
函数和过程:

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

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

功能:取得树节点的属性

其中property有如下几种:

NODE_STATE:EXPANDED_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;
  ps:其中: SYSTEM.TRIGGER_NODE指当前选中的树节点。

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

功能:设置树节点的属性

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

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

功能:设置树的属性

PROCEDURE POPULATE_TREE (item_name VARCHAR2);

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

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

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

注:使用比较麻烦。

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_type:FIND_NEXT,FIND_NEXT_CHILD                                                                                                                                                                                                    
Search_by:NODE_LABEL,NODE_VALUE                                                                                                                           

Search_root:查询的根节点,一般是Ftree.ROOT_NODE                                                                                                                
Start_point:查找的开始节点,一般是Ftree.ROOT_NODE 

FUNCTION ADD_TREE_NODE(item_name VARCHAR2,node FTREE.NODE, offset_type NUMBER,offset NUMBER,state NUMBER,label VARCHAR2, icon VARCHAR2,value VARCHAR2);                                                                                                                        

功能:添加树节点。                                                                                                                                                                                                                                                                                                                                                                                          

Offset_type:指定节点的分支类型,PARENT_OFFSET和SIBLING_OFFSET                                                                                                                                                                                                                                     

Offset:指定新节点的位置                                                                                                                                                                                                                                                  

PARENT_OFFSET:1..N                                                                                                                                                                                                                                                                                                               

LAST_CHILD                                                                    

SIBLING_OFFSET:NEXT_NODE                                                                                                                                                                                                                                                                       

PREVIOUS_NODE                                                                                                                                                                                                                                                                                                                                                                                               

State:EXPANDED_NODE(扩展节点)                                                                                                                                                                                                                          

COLLAPSED_NODE(收缩节点)                                                                                                                                                                                                                          

LEAF_NODE(叶节点)                                                                                                                                                                                                                                              


PROCEDURE DELETE_TREE_NODE(item_name VARCHAR2,node NODE);                                                                                                                                                                 

功能:删除树节点                                                                                                                                                                                                                                                                                                                                                                                            


FUNCTION GET_TREE_NODE_PARENT(item_name VARCHAR2,node NODE);                                                                                                                                                                                                                                               

功能:得到指定节点的父节点。                                                                                                                                                                                                                                                                                                                                                                                


FUNCTION GET_TREE_SELECTION(item_name VARCHAR2,selection NUMBER);                                                                                                                                                                                         

功能:得到处于选中状态的节点。                                                                                                                                                                                                                                                                                                                                                                              


PROCEDURE SET_TREE_SELECTION(item_name VARCHAR2,node NODE, selection_type NUMBER);                                                                                                                                                                             

功能:指定单个节点的选中状态                                                                                                                                                                                                                                                                                                                                                                                

参数:                                                                                                                                                                                                                                                                                                                                                                                                      

selection_type:SELECT_ON                                                                                                                                                                                                                                                                                                                                                                                   

SELECT_OFF                                                                                                                                                                                                                                                                                                                                                                                                  

SELECT_TOGGLE 

触发器:

When-Tree-Node-Activated:用户双击节点或在节点选中时按[ENTER]键时触发。

When-Tree-Node-Expanded:节点展开或收缩时触发                         

When-Tree-Node-Selected:当节点选中或取消选择时触发                    

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

请登录后发表评论 登录
全部评论

注册时间:2014-04-10

  • 博文量
    19
  • 访问量
    37203