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

相關文章
相關標籤/搜索