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

来源:互联网 发布:http默认端口号多少 编辑:程序博客网 时间:2024/05/22 04:50

//获取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);
    }
   }

}

原创粉丝点击