注册 登录
壹佰网|ERP100 - 企业信息化知识门户 返回首页

的个人空间 https://www.erp100.com/?0 [收藏] [复制] [RSS]

日志

在OAF中实现Tree(一)

热度 2已有 1047 次阅读2008/7/2 09:27

       这几天一直在Jdeveloper中捣鼓Tree,之前在网上想找些资料,但很少,有的也是关于Form中的.
       其实Tree的实现无非就是由Parent Object ,Chlid Object,以及所要显示的信息,我把2个有关联的表组合成一个由4个字段形成的View.

       

create or replace view eom_treetest_v as
select distinct c.org_id as c_id, d.name as tname,'' as P_id,'1' as code
from eom_set_module c,HR_OPERATING_UNITS d
where c.org_id = d.organization_id
union all
select distinct a.module_id as c_id,a.module_name as tname ,a.org_id as P_id,'' as code from eom_set_module a

      其中C_ID表示每个项的ID值,TNAME表示所要显示的信息,P_ID表示每个项对应的父结点,即C_ID中的某个值,CODE表示层级关系。
       然后开始在JDeveloper里进行配置和写代码。

      1.新建EO,对象为EOM_TREETEST_V.

      1.新建VO,加入EO。
      2.新建VL,Source Attribute 为"C_ID",Destination Attribute 为"P_ID".

      3.把VO,VL加入到AM中。
      4.新建PG,加入Tree控件,在“nodeDef”中View Attribute选为Tname,即所要显   示的信息,在ChildNode要配置Ancestor Node和View Link Accessor,如图

     

       5.新建CO.
      6.在VOImpl中,加入

        

   public void initQuery()
    {
      setWhereClause("CODE = '1'");
      executeQuery();
    }
       7.在AMImpl中,加入
    
   public void initTreeQuery()
    {   TreeVOImpl vo = getTreeVO1();
         vo.initQuery();    }

        8.在CO中,加入
     
OAApplicationModule am = pageContext.getApplicationModule(webBean);    am.invokeMethod("initTreeQuery");//调用AM.

 

         到此为止,运行出来结果。
         虽然树是出来了,层级关系也出来了,但我总觉得还有哪里做的不对,希望高手看到指点一下!

发表评论 评论 (2 个评论)

回复 TIM2008 2009/8/15 22:36
VERY GOOD!
小伙子很不错啊!
回复 hero_bbserp 2011/11/6 01:54
lihaiya

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 05:03 , Processed in 0.009081 second(s), 13 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部