监听过滤面板的查询点击,用异常拦截查询原创
7人赞赏了该文章
1,406次浏览
编辑于2021年09月03日 11:20:29
创作不易,如果文章对您有帮助,请为我点击一个朴实无华的赞^_^
场景
报表查询时,如果没有输入过滤信息,就提示用户需要输入过滤信息,并且不能继续查询。
实现
监听过滤面板的查询点击,用异常拦截查询。
在插件上,registerListener方法里面,获取到过滤面板,然后添加查询点击监听。
当点击查询时,判断过滤条件,如果为空,就抛出异常,给出提示信息。
部分代码如下:
public class ComboFilterReportFormPlugin extends AbstractReportFormPlugin { @Override public void registerListener(EventObject e) { super.registerListener(e); ReportFilter reportfilter = getControl("reportfilterap"); reportfilter.addSearchListener(new SearchListener() { @Override public void search(SearchEvent searchEvent) { FilterItemInfo filterItemInfo = searchEvent.getRepotParam().getFilter().getFilterItem("kdec_filter_region"); if (filterItemInfo == null || filterItemInfo.getValue() == null) { throw new KDBizException("过滤参数为空"); } } }); } }
效果
推荐阅读