列表动态显示隐藏列原创
6人赞赏了该文章
285次浏览
编辑于2024年11月20日 11:01:27
关键词:
代码显示隐藏列表字段、操作列操作动态显隐、列表动态显示隐藏列
适用场景:
1.操作列里面的操作需要根据行状态进行显示隐藏对应的操作需求
2.当某一种情况需要根据什么条件来把整个列动态的进行显示隐藏
1.packageData方法中进行操作列里面的操作显示隐藏或锁定
@Override public void packageData(PackageDataEvent e) { super.packageData(e); // 判断是操作列 if (e.getSource() instanceof ListOperationColumnDesc) { DynamicObject rowData = e.getRowData(); String columnKey = ((ListOperationColumnDesc) e.getSource()).getKey(); // 获取操作列的所有操作项 List<OperationColItem> operationColItems = (List<OperationColItem>) e.getFormatValue(); if (StringUtils.equals("fdb2_listoperationcolumna", columnKey)) { String status = rowData.getString("billstatus"); // 根据单据状态,设置操作列的按钮灰显 for (OperationColItem item : operationColItems) { // 已审核,并且是已审核操作项 if ("audit".equals(item.getOperationKey())) { //显示隐藏 item.setVisible(!"C".equals(status)); //设置锁定解锁 //item.setLocked(false); } else if ("submit".equals(item.getOperationKey())) { item.setVisible(!"B".equals(status)); } } } } }
效果图:
2.beforeCreateListColumns方法中进行列字段的动态显示隐藏
@Override public void beforeCreateListColumns(BeforeCreateListColumnsArgs args) { super.beforeCreateListColumns(args); List<IListColumn> listColumns = args.getListColumns(); for (IListColumn listColumn : listColumns) { //根据字段标识判断,然后再根据其他条件进行判断隐藏列 if ("createtime".equals(listColumn.getListFieldKey())) { //设置0代表隐藏设置1代表显示 listColumn.setVisible(1); } } }
效果图:创建时间隐藏
赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读