单据列表如何取消合并单据头的行合并原创
5人赞赏了该文章
31次浏览
未经作者许可,禁止转载编辑于2024年12月19日 14:45:44
单据列表的行合并是根据主键来得这个时候我们就要去设置id的不同
@Override public void packageData(PackageDataEvent e) { super.packageData(e); if (e.getSource() instanceof PKColumnDesc &&"hx_aviationmaterials.id".equals(((PKColumnDesc) e.getSource()).getKey())){ DynamicObject rowData = e.getRowData(); DynamicProperty property = rowData.getDynamicObjectType().getProperty("entryentity.id"); if (property == null){ return; } e.setFormatValue(String.valueOf( rowData.getLong("id")-rowData.getLong("entryentity.id")) ); } } 可以根据主键id-分录 id 得到一个唯一主键值
这时候会有一个问题 就是选择行得时候回出现问题
@Override public void selectRowsChange(SelectRowsEvent evt) { String showentry = getPageCache().get("showentry"); if("false".equals(showentry)){ return; } BillList billList = getControl("billlistap"); List<List<Object>> listRows = (List)billList.getEntryState().get("selDatas"); for (List<Object> listRow : listRows) { Object id = listRow.get(0); Object eId = listRow.get(1); Long pk = Long.valueOf((String) id); Long epk = Long.valueOf((String) eId); listRow.set(0,String.valueOf(pk+epk)); } } 再选择行得时候我们把主键恢复 这样就可以了
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读