NC高级UI工厂笔记

1.控制按钮是否可见
  @Override
  protected boolean isActionEnable() {
    return this.model.getUiState() == UIState.NOT_EDIT;
  }
2.显示选择模块AceOrgChangedHandler
 this.billfrom.getBillCardPanel().setBodyMultiSelect(true);
//判断是否选中
 if(this.getBillform().getBillCardPanel().getBillModel().getRowState(i) ==BillModel.SELECTED);


3.设置模板的状态
 model.setUiState(UIState.EDIT);


4.得到自动产生行号的代码
//此方法表体新增一行
this.getBillform().getBillCardPanel().getBodyPanel().addLine();
//得到新增的行号//pnlCard是BillCardPanel, sRowNOKey为行号字段
String newrownumber=BillRowNoUtils.getAddLineRowNo(this.getBillform().getBillCardPanel(), ImaterialsBVO.NNUMBER);
//以下为BillRowNoUtils.getAddLineRowNo源代码
   public static String getAddLineRowNo(BillCardPanel pnlCard, String sRowNOKey)
    {
        int lengthOfRow = pnlCard.getBillTable().getRowCount();
        if(lengthOfRow == 1)
            return "10";
        String rowno = (String)pnlCard.getBillModel().getValueAt(lengthOfRow - 2, sRowNOKey);
        if(rowno != null)
        {
            int irowno = Integer.parseInt(rowno);
            return String.valueOf(irowno += 10);
        } else
        {
            return "";
        }
    }


5.显示提示信息。
ShowStatusBarMsgUtil.showStatusBarMsg("补录转介绍", this.getModel().getContext());
6.弹框提示信息。
 MessageDialog.showHintDlg(null, "错误", "商品项号不是唯一!");


7.获取单据VO数据
// 获取表头hvo
ImaterialsHVO imhvo = (ImaterialsHVO) this.getBillform().getBillCardPanel().getBillData().getHeaderValueVO(ImaterialsHVO.class.getName());
//获取表体数据
ImaterialsBVO[] imbvos=(ImaterialsBVO[]) this.getBillform().getBillCardPanel().getBillModel().getBodyValueVOs(ImaterialsBVO.class.getName());
8.得到某个字段值
//得到表头某个字段的数值
this.getBillform().getBillCardPanel().getBillData().getHeadItem("isselect").getValue(); 
或者
this.getBillform().getBillCardPanel().getHeadItem("isselect").getValue();
//得到表体某个字段的数值
this.getBillform().getBillCardPanel().getBillModel().getValueAt(i, "isselect");
9.列表自动带出(编辑完带出在编辑公式,列表上带出在显示公式)
materialname->getcolvalue(bd_material,name ,code , material) ;


10.编辑报错提示
//停止编辑
this.billForm.getBillCardPanel().stopEditing();
//清除报错
this.billForm.getBillCardPanel().getBillModel().clearCellShowWarning();
//新建
ChangeBillScorllPane changeScorll=null;
changeScorll=new ChangeBillScorllPane();
int scorll_Y=i*this.billForm.getBillCardPanel().getBillTable().getRowHeight();
changeScorll.changeBillScorllPane(getBillForm(), i, 1, 0, scorll_Y);

你可能感兴趣的:(NC,NC高级篇)