您的位置:首页 > 编程语言

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

2017-09-11 00:00 597 查看
摘要: 粘过去直接可以用,不解释,看注释就能懂。

@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);
}

粘过去直接可以用,不解释,看注释就能懂。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息