package nc.ui.pubapp.util; import nc.ui.pub.bill.BillCardPanel; import nc.ui.pub.bill.BillEditEvent; import nc.ui.pub.bill.BillItemEvent; import nc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent; import nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent; import nc.ui.pubapp.uif2app.event.card.CardHeadTailBeforeEditEvent; import nc.ui.uif2.model.AbstractAppModel; public class CardEditEventUtils { private BillCardPanel card; private AbstractAppModel model; public CardEditEventUtils(BillCardPanel cardPanel,AbstractAppModel model) { this.card = cardPanel; this.model = model; } /** * @Title: setHeadAfterEditEvent * @Description: 模拟前台 表头执行编辑后事件 * @param key 表头字段 * @author lzl * @date 2021年3月18日 * @throws */ public void setHeadAfterEditEvent(String headkey) { Object value=this.card.getHeadItem(headkey).getValue(); if(value!=null) { CardHeadTailAfterEditEvent event=new CardHeadTailAfterEditEvent(this.card, new BillEditEvent(this.card.getHeadItem(headkey), value, headkey), null); model.fireEvent(event); } } /** * @Title: setHeadBeforeEditEvent * @Description: 模拟前台 表头执行编辑前事件 * @param key 表头字段 * @author lzl * @date 2021年3月18日 * @throws */ public void setHeadBeforeEditEvent(String headkey) { Object value=this.card.getHeadItem(headkey).getValue(); if(value!=null) { CardHeadTailBeforeEditEvent event=new CardHeadTailBeforeEditEvent(this.card, new BillItemEvent(this.card.getHeadItem(headkey))); this.model.fireEvent(event); } } /** * @Title: setBodyAfterEditEvent * @Description: 表体指定行指定字段编辑后事件 * @param row 表体行 * @param key 表体字段 * @author lzl * @date 2021年3月18日 * @throws */ public void setBodyAfterEditEvent(int row,String bodykey) { Object value=this.card.getBodyValueAt(row, bodykey); if(value!=null) { CardBodyAfterEditEvent event = new CardBodyAfterEditEvent(this.card, new BillEditEvent(this.card.getBodyItem(bodykey),this.card.getBodyValueAt(row, bodykey), bodykey, row), null); this.model.fireEvent(event); } } /** * @Title: setBodyAfterEditEvent * @Description: 表体指定字段所有行执行编辑后事件 * @param bodykey void * @author lzl * @date 2021年3月18日 * @throws */ public void setBodyAfterEditEvent(String bodykey) { int row= this.card.getBillModel().getRowCount(); for (int i = 0; i <row; i++) { setBodyAfterEditEvent(i, bodykey); } } }