美文网首页
查询表单参数二次处理2019-05-22

查询表单参数二次处理2019-05-22

作者: bjyan | 来源:发表于2019-05-22 13:46 被阅读0次

    在皕杰查询表单中我选中一个值,怎么可以在点击查询的时候,对这个值进行处理返回另外一个参数的值。

    解决方案:

    1.用皕杰报表设计器设计一张报表。参数:货主地区 area 字符串类型;货主城市 city 字符串组类型。

    数据集:                                  

    ds1:select * from 订单 where  货主城市 in (?)

    参数选择为city

    ds2:select distinct 货主地区 from 订单  where 货主地区  is not null

    2.设计皕杰报表查询表单

    参数只设置货主地区,参数控件类型为下拉框,数据来源为数据集ds2。

    3.皕杰报表提供了查询Listener事件的接口:bios.report.api.events.QueryEventListener

    参考文档-皕杰报表帮助文档-开发指南-javadoc-bios.report.api.events-QueryEventListener

    4.根据文档编写查询表单Listener实现类,实例代码如下:

    package  bios.report.dev.examples.event;

    import bios.report.api.events.QueryEventListener;

    /**

     *表单查询事件Listener示例

     *获取这个查询表单中某个参数的赋值

     *然后计算出另一个参数的值并赋值

     */

    public class MyParamQueryListener extends QueryEventListener {

        @Override

        public void onQuery() {

            String area = getParamValue("area");//获取参数area的参数值

            String city=getCity(area);

            setParam("city", city);//参数 city赋值

        }

        //根据地区查询城市,并返回货主城市

        private static String getCity(String area){

            String city="";

            if(area.equalsIgnoreCase("华北")) {

                city="北京,天津";

            }

            return city;

        }

    }

    5.设置这个实例报表的查询表单Listener。在查询表单设计界面

    点击上图中的红框内的按钮,弹出查询Listener事件设置,设置查询表单Listener实现类的路径

    6.将这个报表集成到你的web应用中,并访问这个报表

    7.  如上图所示:货主地区选择华北,点击查询按钮,返回货主城市为北京和天津的数据。表明查询表单Listener实现类的功能已实现。

    相关文章

      网友评论

          本文标题:查询表单参数二次处理2019-05-22

          本文链接:https://www.haomeiwen.com/subject/bbnyzqtx.html