zoukankan      html  css  js  c++  java
  • FineReport——弹出新窗体选值并回调

    主要实现的功能:

    在主页面,通过单击按钮,弹出窗体,在窗体中通过下拉框选择值并查询,如果是多值,可以通过复选框选择,点击确定,将选中的行的字段值传递给主页面的下拉复选框,定义其编辑后事件进行查询。将想要的结果显示在表格中。在表格后面添加删除按钮,可以删除对应的列。

    该功能主要涉及到几个JS方法,和FR的自动查询(值得注意的是,FR 的自动查询,只能使用在参数面板,在表单中无法使用。)
    首先是使用JS弹出一个窗体,而这个窗体的内容就是一个报表模板:
    window.form = this.options.form;
    var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>");
    $iframe.attr("src", "${servletURL}?reportlet=WorkBook47.cpt&op=write");
    var o = {
    title : "请选择记录项",
    width : 800,
    height: 500
    };
    FR.showDialog(o.title, o.width, o.height, $iframe,o);

    然后是,在弹出的这个模板中设计内容,其实也和普通的模板设计一样,只是多了一步就是通过JS获取单元格的值并回传给主页面。

    关于回传值(按钮执行JS方法):

    var products = [];  
    var $span = $('.fr-checkbox-checkon');  //获取选中的复选框
    var $tds = $("td").has($span);     //定义选中复选框的单元格 
    var $trs = $("tr").has($tds);  
    for(var i=0; i<$trs.length;i++){  
    var product = $("td:eq(1)",$($trs[i])).html();   //获取选中的C3单元格的值
    products.push(product);     //将选中的值放到数组中
    }  
    var form = window.parent.form; 
    var pva=form.getWidgetByName("p2").getValue();
    if(pva==0)
    {
         //form.getWidgetByName("p1").setValue(products);
         form.getWidgetByName("p2").setValue(products);
    }
    else
    {
        //form.getWidgetByName("p1").setValue(pva+","+products);
        form.getWidgetByName("p2").setValue(pva+","+products);
    }
    window.parent.FR.closeDialog();
    window.parent.FR.distroyDialog();
     

     为了更方便的操作,将值回传给下拉复选框,传值过后通过下拉复选框的编辑后事件,可以自动查询:

    _g().parameterCommit();  

     为了更加方便与界面优化,可以将下拉复选框隐藏,定义其初始化事件:

    this.invisible();
  • 相关阅读:
    网络技术全方位解析之三:RAID
    Linux系统安全隐患及加强安全管理的方法
    Silverlight 程序架构
    (转载)Qt:给QLineEdit加上一个搜索按钮
    (转载)StarUML启动时候出现"System Error. Code:1722. RPC服务器不可用."错误的解决办法
    (转载)starUML connect elements exactly
    (转载)Qt:拖拽图片到QLabel上并显示
    (转载)Qt:禁止qDebug的输出
    (转载)葱的营养价值和食用功效
    (转载)Qwt的安装与使用
  • 原文地址:https://www.cnblogs.com/ytwy/p/4863569.html
Copyright © 2011-2022 走看看