1、首先去功能注册那里找到需要添加按钮的节点所应的xml文件。
2、在xml注册按钮的动作类名,如图下:

3、在需要显示的列表或卡片区域中注册按钮动作,如图下:

4、在client包新建按钮动作的类文件,如图下:

5、重启client端就能看到所注册的按钮了,如图下:
6、前端刷新方法:

//刷新卡片数据
AbstractBill oldVO = (AbstractBill)obj;
String pk = oldVO.getParentVO().getPrimaryKey();
IBillQueryService billQuery = (IBillQueryService)NCLocator.getInstance().lookup(IBillQueryService.class);
AbstractBill abstractBill = billQuery.querySingleBillByPk(oldVO.getClass(), pk);
if (abstractBill == null)
{
throw new BusinessException(NCLangRes.getInstance().getStrByID(“uif2”, “RefreshSingleAction-000000”));
}
this.model.directlyUpdate(abstractBill);
7、按钮动作完成的提示语

showQueryInfo();
protected void showQueryInfo() { /*ShowStatusBarMsgUtil.showStatusBarMsg(NCLangRes4VoTransl.getNCLangRes().getStrByID(“pubapp_0”, “0pubapp-0267”), getModel().getContext()); */
ShowStatusBarMsgUtil.showStatusBarMsg(“调整成功。”, getModel().getContext());
}
8、根据实际情况设置按钮置不置灰,如下图:

protected boolean isActionEnable() {
AggBudgetcommreplyVO vo = (AggBudgetcommreplyVO) getModel().getSelectedData();
if (null == vo) {
return false;
}
Integer taskstatus = vo.getParentVO().getTaskstatus();
Integer approvestatus = vo.getParentVO().getApprovestatus();
if (approvestatus != null && BillStatusEnum.APPROVED.toIntValue() == approvestatus)// 审批
{
if (TaskstageEnum.OneUp.toIntValue() == taskstatus || TaskstageEnum.TwoUp.toIntValue() == taskstatus) {
return true;
}
}
return false;
}
本文详细介绍了UI组件的注册过程,包括在XML文件中指定按钮动作类、在列表或卡片区域注册按钮、创建按钮动作类文件,以及如何在客户端实现按钮显示、数据刷新和状态控制。同时,展示了按钮操作完成后显示的提示信息,并提供了判断按钮是否禁用的逻辑代码。
2138

被折叠的 条评论
为什么被折叠?



