监听过滤面板的查询点击,用异常拦截查询原创
金蝶云社区-吴锐雄
吴锐雄
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("过滤参数为空");
                }
            }
        });
    }
}


效果

image.png






赞 7