NC平台添加自定义按钮组步骤
1,在ICustomizeButton中定义按钮编码常量
public static final int UCCLUB_SQLSET_LINE = 10001; // 行操作
public static final int UCCLUB_SQLSET_LINE_DELETE = 10002; // 行操作->删除行
2,编写自定义按钮组类
import nc.ui.trade.button.IBillButtonVO;
import nc.ui.uc.buttons.ICustomizeButton;
import nc.vo.trade.button.ButtonVO;
public class ClubSqlsetLineBtn implements IBillButtonVO {
public ClubSqlsetLineBtn(){}
private static final String btnChinaName = "行操作";
private static final String[] childBtnChinaName = new String[] {"删除行"};
private static final int[] childBtnNo = new int[] {ICustomizeButton.UCCLUB_SQLSET_LINE};
public ButtonVO getButtonVO() {
ButtonVO btnVO = new ButtonVO();
btnVO.setBtnNo(ICustomizeButton.UCCLUB_SQLSET_LINE);
btnVO.setBtnChinaName(btnChinaName);
btnVO.setHintStr(btnChinaName);
btnVO.setBtnName(btnChinaName);
btnVO.setBusinessStatus(null);
btnVO.setChildAry(childBtnNo);
btnVO.setOperateStatus(new int[] { 2});
return btnVO;
}
public ButtonVO[] getChildBtn() {
ButtonVO[] childBtn = new ButtonVO[childBtnNo.length];
for (int i = 0; i < childBtnChinaName.length; i++) {
childBtn[i] = new ButtonVO();
childBtn[i].setBtnNo(childBtnNo[i]);
childBtn[i].setBtnChinaName(childBtnChinaName[i]);
childBtn[i].setBtnName(childBtnChinaName[i]);
childBtn[i].setHintStr(childBtnChinaName[i]);
childBtn[i].setOperateStatus(new int[] { 0, 1, 2, 3 ,4});
childBtn[i].setBusinessStatus(null);
childBtn[i].setChildAry(new int[] {});
}
return childBtn;
}
}
3,在AbstractClientUI中的initPrivateButton方法中注册自定义按钮组
ClubSqlsetLineBtn lineBtn = new ClubSqlsetLineBtn();
addPrivateButton(lineBtn.getButtonVO());
ButtonVO[] btnVOs = lineBtn.getChildBtn();
for (ButtonVO buttonVO : btnVOs) {
addPrivateButton(buttonVO);
}
4,在AbstractMyEventHandler中注册按钮组中的按钮对应的事件
protected void onBoElse(int intBtn) throws Exception {
switch (intBtn) {
case ICustomizeButton.UCCLUB_DATA_IMP:
ucclubDataImp();
break;
case ICustomizeButton.UCCLUB_SQLSET_LINE_DELETE:
impLogRemove();
}
}
protected void ucclubDataImp() {
}
protected void impLogRemove(){}
5,在ClientUICtrl中注册按钮组显示
public int[] getCardButtonAry() {
return new int[]{
IBillButton.Query,
IBillButton.Edit,
ICustomizeButton.UCCLUB_SQLSET_LINE,
IBillButton.Return,
IBillButton.Refresh,
ICustomizeButton.UCCLUB_DATA_IMP
};
}
public int[] getListButtonAry() {
return new int[]{
IBillButton.Query,
IBillButton.Edit,
ICustomizeButton.UCCLUB_SQLSET_LINE,
IBillButton.Card,
IBillButton.Refresh,
ICustomizeButton.UCCLUB_DATA_IMP
};
}