• FineReport——巧妙实现类tab布局


    在FR中,表达form支持局部刷新和tab布局,在报表中,不能做到这样,只能舍弃一些功能来做到类似的tab布局。

    首先,在参数面板放一个文本控件temp,用作一个临时值,需要设置一个默认值,而切换是通过条件属性--行高来实现。条件属性条件便是通过公式来判断temp的值,由于不能做到局部刷新,所以只有通过刷新来实现,可是真正的刷新时刷新整个页面,重新加载了,所以可以通过自动查询来实现(类似的,如果报表中值是通过参数面板控件值查询得到的,也可以在某个事件之后清空这个控件值,再自动查询做到清屏的效果)。

    在A1,A2,A3分布添加一个按钮控件(tab1,tab2,tab3),并在其点击事件中添加如下JS代码:

    var Widget = contentPane.parameterEl.getWidgetByName("temp");
    Widget.setValue("1");//A1设置值为1,A2为2,A3为3
    _g().parameterCommit(); 

    在tab1情况下需要显示的行,添加条件属性——行高:

    temp != "1"    //tab2下需要显示的为2,tab3下为3

    点击填报预览

    ok,这样就基本上就可以做到类似tab布局了,在tab切换的过程中,如果控件有新值且未提交为提示。

  • 相关阅读:
    DOM
    BOM
    JavaScript 转载
    CSS 转载
    html
    元类
    索引
    视图,触发器,事务,存储过程
    子查询,用户管理,pymysql使用
    完整的查询语句
  • 原文地址:https://www.cnblogs.com/ytwy/p/5071760.html
Copyright © 2020-2023  润新知