报表实现表头过滤,并实现自定义比较符。原创
1人赞赏了该文章
1,065次浏览
编辑于2023年08月12日 16:50:30
先上效果图:
代码:
//报表字段标识 String field = "name"; //开启字段表头过滤 @Override public void setSortAndFilter(List<SortAndFilterEvent> allColumns) { super.setSortAndFilter(allColumns); for (SortAndFilterEvent allColumn : allColumns) { if(StringUtils.equals(field ,allColumn.getColumnName())){ allColumn.setFilter(true); allColumn.setSort(true); } } } //为字段添加自定义比较符号 @Override public void beforeCreateFilterInfo(CreateFilterInfoEvent event) { super.beforeCreateFilterInfo(event); if (event.getFieldKey().equals(field )) { ArrayList<HashMap> filterItemList = new ArrayList(); HashMap filterItem = new HashMap(); filterItem.put("name", new LocaleString("等于")); filterItem.put("value", ""); filterItem.put("inputCtlType", 1); //17是in ,67是= filterItem.put("id", "67"); filterItemList.add(filterItem); Map filterInfoMap = new HashMap(); filterInfoMap.put("filterItems", filterItemList); event.setFilterInfo(filterInfoMap); event.setCancel(true); } super.beforeCreateFilterInfo(event); }
如何获取自己想要的比较符号:
更改下面的id
filterItem.put("id", "67");
获取自己想要的id:在下面的代码加断点调试,分析一下数据。
kd.bos.entity.filter.FilterMetadata#getCompareTypeByCompareTypeId
赞 1
1人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读