金蝶BOS 获取dep在界面上做的控件的值

本文档详细介绍了如何在金蝶BOS系统中通过代码获取界面组件,特别是`dep`新增控件的值。通过`findComponent`函数遍历组件树,比较控件名称并存入哈希表,最终实现对特定控件`prmtptType`的值进行设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//获取dep新增的控件

 public static  void findComponent(Component comp,String[] controls,Hashtable<String, Component> found){
  Container con=null;
  boolean nameEquals =false;
  String CompName = null;
   if (comp instanceof Container) {
    CompName = comp.getName();
    if (CompName!=null ){
     System.out.println(CompName);
     for(int i = 0;i<controls.length;i++){
      if(CompName.equals(controls[i])){
       if( !found.containsKey(CompName)){
        System.out.println(CompName + " not contain++++");
        found.put(CompName,comp);
        System.out.println("find:"+CompName);
        nameEquals = true;
        break;
       }else{
        System.out.println("contain++++");
       }
      }
     }
    }
    if (found.size() != controls.length /*&& !nameEquals*/){
     System.out.println("container:" + comp.getName());
     con = (Container)comp;
     int count = con.getComponentCount();
    
     for (int i = 0;i<count;i++){
      findComponent(con.getComponent(i),controls,found);
      if(found.size() == controls.length) return;
    }
    }
   }else{
    System.out.println("component:" + comp.getName());
   }
  
 }

 

main(){

 

Hashtable hs = new Hashtable();
   String prtypeId = CommonFacadeFactory.getRemoteInstance().getPurReturnsTypeId(this.editData.getId()==null?null:this.editData.getId().toString());
   PurReturnTypeInfo ptInfo = PurReturnTypeFactory.getRemoteInstance().getPurReturnTypeInfo(new ObjectUuidPK(prtypeId));
   System.out.println(this.editData.keys());
   findComponent(this.contsuttle.getParent(),new String[]{"prmtptType"},hs);
   if (hs.size() > 0) {
    Object oo = hs.get("prmtptType");
    if (oo != null) {
     kp = (KDBizPromptBox)oo;
     kp.setValue(ptInfo);
    }
   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值