EAS 动态扩展后的控件,在BOS开发代码中如何获取。

@Override
	public void onLoad() throws Exception {
		// TODO Auto-generated method stub
		super.onLoad();
		
		//获取dep供应商F7
		//===========================================================
  	    KDBizPromptBox prmtsupplier = (KDBizPromptBox) 
                                           this.findComponent("contsupplier","prmtsupplier");
		if(prmtsupplier!=null){
			//添加  供应商 改变监听
	  	 	prmtsupplier.addDataChangeListener(new DataChangeListener(){
				@Override
				public void dataChanged(DataChangeEvent e){
					//do something
				}
			});
		}
  	    
	}  


     /**
	 * 
	 * 获取dep动态扩展控件
	 * uiTxtNumber 为UI页面 一个文本控件
	 * depLabelName 为添加控件上级Lable的名称
	 * depContainerName 为要获取的扩展控件名称
	 * 返回一个控件,类型须要强转或null
	 *  
	 * @param uiTxtNumber
	 * @param depLabelName
	 * @param depContainerName
	 * @return
	 */
	public Container findComponent(KDTextField uiTxtNumber,String depLabelName,String depContainerName) {
		if(uiTxtNumber==null||depLabelName==null||depContainerName==null){
			return null;
		}
		Container basePanel = uiTxtNumber.getParent().getParent();
		//获取最高层面板循环获取下级 控件元素
		for (int j = 0; j < basePanel.getComponentCount(); j++) {
			Component comp2 = basePanel.getComponent(j);
			//找到名称为  
			if (depLabelName.equals(comp2.getName())) {
				Container con = (Container) comp2;
				//label子空间有三个,第三个为控件
				Container resultCon = (Container)con.getComponent(2);
				if(depContainerName.equals(resultCon.getName())){
					return resultCon;
				}
			}
		}
		return null;
	}
	
	/**
	 * 
	 * 获取dep动态扩展控件
	 * depContainerName为要获取的扩展控件名称
	 * 返回一个控件,类型须要强转或null
	 * 
	 * @param depContainerName
	 * @return
	 */
	public Container findComponent(String depLabelName,String depContainerName) {
		return this.findComponent(this.kDTextBankStr,depLabelName,depContainerName);
	}

粘过去直接能够用,不解释,看注释就能懂。java

相关文章
相关标签/搜索