精华内容
下载资源
问答
  • 一:需求描述 1)鼠标滑过及悬停时改变行的颜色。 2)鼠标滑过及悬停时改变列的颜色。 3)鼠标滑过及悬停时改变同时行...点击模板>模板web属性>分页预览设置 ,选择为该模板单独设置,然后添加加载结束事件,具体js

    一:需求描述

    1)鼠标滑过及悬停时改变行的颜色。

    2)鼠标滑过及悬停时改变列的颜色。

    3)鼠标滑过及悬停时改变同时行和列的颜色。

    二:实现思路

    鼠标滑入悬停时,先遍历获取该行所有单元格的原背景色,再遍历修改为新背景色,鼠标离开时恢复当前行所有单元格为原背景色。


    三:制作流程

    点击模板>模板web属性>分页预览设置 ,选择为该模板单独设置,然后添加加载结束事件,具体js如下:

    3.1改变行颜色

      3.1.1悬停变色

    var background_color = "rgb(255,0,0)"; //新背景色
    var frozen_back_color = new Array();
    var back_color = new Array();
    var $last_tr;
    var i = 0;
    $(".x-table tr").bind("mouseenter", function () {
    if (typeof($last_tr) != "undefined") {
    if (typeof($(this).attr("id")) != "undefined") {
    if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
    $("#content-container #" + $last_tr.attr("id")).each(function () {
    $(this).children("td").each(function () {
    $(this).css("background-color", frozen_back_color[i][$(this).index()]);
    });
    i = i + 1;
    });
    i = 0;
    } else {
    $last_tr.children("td").each(function () {
    $(this).css("background-color", back_color[$(this).index()]);
    });
    }
    frozen_back_color = [];
    back_color = [];
    }
    }
    if (typeof($(this).attr("id")) != "undefined") {
    if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
    $("#content-container #" + $(this).attr("id")).each(function () {
    frozen_back_color[i] = new Array();
    $(this).children("td").each(function () {
    frozen_back_color[i][$(this).index()] = $(this).css("background-color");
    $(this).css("background-color", background_color);
    });
    i = i + 1;
    });
    i = 0;
    } else {
    $(this).children("td").each(function () {
    back_color[$(this).index()] = $(this).css("background-color");
    $(this).css("background-color", background_color);
    });
    }
    }
    });
    $(".x-table tr").bind("mouseleave", function () {
    if (typeof($(this).attr("id")) != "undefined") {
    $last_tr = $(this);
    }
    });


    3.2改变列颜色

    var background_color = "rgb(255,0,0)";//新背景色
    var back_color = new Array();
    var last_col = "";
    var current_col = "";
    $(".x-table td[id]").bind("mouseenter", function () {
    if (last_col != "") {
    $("td[id^='" + last_col + "']").filter(function () {
    if ($(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "") == last_col) {
    return $(this);
    }
    }).each(function () {
    $(this).css("background-color", back_color[$(this).parent("tr").attr("tridx")]);
    });
    back_color = [];
    last_col = "";
    }
    if (typeof($(this).attr("id")) != "undefined") {
    current_col = $(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "");
    $("td[id^='" + current_col + "']").filter(function () {
    if ($(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "") == current_col) {
    return $(this);
    }
    }).each(function () {
    back_color[$(this).parent("tr").attr("tridx")] = $(this).css("background-color");
    $(this).css("background-color", background_color);
    });
    current_col = "";
    }
    });
    $(".x-table td[id]").bind("mouseleave", function () {
    if (typeof($(this).attr("id")) != "undefined") {
    last_col = $(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "");
    }
    });


    3.3改变行列颜色

    var background_color = "rgb(255,0,0)";//新背景色
    var row_frozen_back_color = new Array();
    var row_back_color = new Array();
    var $last_tr;
    var i = 0;
    var col_back_color = new Array();
    var last_col = "";
    var current_col = "";
    $(".x-table td[id]").bind("mouseenter", function () {
    if (typeof($last_tr) != "undefined") {
    if (typeof($(this).parent("tr").attr("id")) != "undefined") {
    if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
    $("#content-container #" + $last_tr.attr("id")).each(function () {
    $(this).children("td").each(function () {
    $(this).css("background-color", row_frozen_back_color[i][$(this).index()]);
    });
    i = i + 1;
    });
    i = 0;
    } else {
    $last_tr.children("td").each(function () {
    $(this).css("background-color", row_back_color[$(this).index()]);
    });
    }
    row_frozen_back_color = [];
    row_back_color = [];
    }
    }
    if (last_col != "") {
    $("td[id^='" + last_col + "']").filter(function () {
    if ($(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "") == last_col) {
    return $(this);
    }
    }).each(function () {
    $(this).css("background-color", col_back_color[$(this).parent("tr").attr("tridx")]);
    });
    col_back_color = [];
    last_col = "";
    }
    if (typeof($(this).attr("id")) != "undefined") {
    current_col = $(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "");
    $("td[id^='" + current_col + "']").filter(function () {
    if ($(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "") == current_col) {
    return $(this);
    }
    }).each(function () {
    col_back_color[$(this).parent("tr").attr("tridx")] = $(this).css("background-color");
    });
    if (typeof($("#content-container #frozen-west").attr("id")) != "undefined") {
    $("#content-container #" + $(this).parent("tr").attr("id")).each(function () {
    row_frozen_back_color[i] = new Array();
    $(this).children("td").each(function () {
    row_frozen_back_color[i][$(this).index()] = $(this).css("background-color");
    $(this).css("background-color", background_color);
    });
    i = i + 1;
    });
    i = 0;
    } else {
    $(this).parent("tr").children("td").each(function () {
    row_back_color[$(this).index()] = $(this).css("background-color");
    $(this).css("background-color", background_color);
    });
    }
    $("td[id^='" + current_col + "']").filter(function () {
    if ($(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "") == current_col) {
    return $(this);
    }
    }).each(function () {
    $(this).css("background-color", background_color);
    });
    current_col = "";
    }
    });
    $(".x-table td[id]").bind("mouseleave", function () {
    if (typeof($(this).attr("id")) != "undefined") {
    last_col = $(this).attr("id").split("-")[0].replace(/[^a-zA-Z]/g, "");
    }
    if (typeof($(this).parent("tr")) != "undefined") {
    $last_tr = $(this).parent("tr");
    }
    });


    展开全文
  • finereport-JS

    2018-08-13 15:16:00
    JS实现定时刷新报表 setInterval("self.location.reload();",10000); //10000ms即每10s刷新一次页面。 注:对于cpt报表,若存在参数查询条件, 使用上述js无法在选定特定查询参数后定时刷新报表,每次查询后...

    JS实现定时刷新报表

    setInterval("self.location.reload();",10000); //10000ms即每10s刷新一次页面。
    

    注:对于cpt报表,若存在参数查询条件, 使用上述js无法在选定特定查询参数后定时刷新报表,每次查询后都会触发一次加载结束事件,修改后js代码如下:

    setTimeout("_g().parameterCommit();",10000);  

    1、触发查询功能 

    _g().parameterCommit();

     

    转载于:https://www.cnblogs.com/michellexiaoqi/p/9468335.html

    展开全文
  • FineReport中的js是已经调用了finereport.js的。 大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReportjs,这个finereport.js中包含了许多内置的funct...

     

    JS编辑框:

    1.FineReport的js。

    作为一款BS产品,browser端的JavaScript是必不可少的。

    FineReport中的js是已经调用了finereport.js的。

    大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的function以及一些公有的属性,不管在模板中还是其他网页中,只要引入了finereport.js,就能够通过FR.xxx的形式调用公有的属性与方法。上面是盗用FR官方文档上的一段话。自己写的web想用FineReport现成的东西的话需要先引用finereport.js。

     

    2.区别。

    js大致有两种,页面相关状态的事件还有就是按钮相关的事件。按钮有三类,一类是工具栏的,一类是参数面板或者表单模式的,还有一类是填报页面的。不同按钮的某些语句稍微有些区别的。

    表单是form,填报是write,以获取控件并给控件赋值为例

    this.options.write.getWidgetByName("p1").setValue("aaa");//填报

    this.options.form.getWidgetByName("p1").setValue("aaa");//表单,参数界面

     

    3.js编辑框调用公式。

    公式放在框架"${}"中。

    比如var v1="${len('sdf')}";那么v1就为3.

    这个跟数据集定义和公式交互可以比较一下。js中""下面的就是字符串,sql其实就是字符串,sql定义的地方是${}里面的是公式,于是推理下JS编辑框中"${}"就应该是公式。

    但是这里要注意下,不能就这样简单类比了,毕竟处理方式上还是有区别的,sql那边是把公式参数什么的都一股脑的在报表中拼接完了,再一起送到数据库来跑,js却不能这么简单拼接。

     

    URL地址栏

    这边就谈不上什么语法特点了,实际应用中也不会在url中直接写,大多是嵌入或者跳转的时候用。简单说下url中的参数吧。

    首先是op参数。可以参考文档。

    报表在默认情况下的预览方式是分页预览,当op参数为write时为填报预览,op=view是数据分析,op=form是表单模式

    op=fs,数据决策系统

    op=fr_platform,报表平台管理

    op=excel_submit,后台excel导入填报

    op=auth_login,登录的中间页面,需要fr_username和fr_password参数

    其他的参数:

    __bypagesize__ :控制是否分页

    __pi__ :是否显示参数界面

    __filename__ :控制导出文件名,没有的话默认用模板名

     

    展开全文
  • FineReport常用js语法

    千次阅读 2019-07-23 14:42:38
    刷新页面 刷新当前页 contentPane.refreshAllSheets(); 刷新子页面并重新加载父页面 $c = $('button:contains("查询")', window.parent.document); $c.click(); ...var email = '收件人...

    刷新页面

    刷新当前页

    contentPane.refreshAllSheets(); 
    

    刷新子页面并重新加载父页面

    $c = $('button:contains("查询")', window.parent.document);
    $c.click();
    window.parent.FR.closeDialog();
    

    这里需要有查询按钮

    发邮件

    利用http服务

    var email = '收件人邮箱';
    var payload = {
        'mailto': email,
        'subject': '邮件标题',
        'body': '邮件正文'
    };
    
    $.ajax({
        url: 'http://199.234.20.182/sendmail',
        type: 'post',
        dataType: 'json',
        success: function(data) {
            console.log(data);
        },
        error: function(data) {
            console.log(data);
        },
        data: payload
    });
    // 关闭当前对话框,并刷新父页面
    $c = $('button:contains("查询")', window.parent.document);
    $c.click();
    window.parent.FR.closeDialog();
    
    展开全文
  • 1.FineReportjs。 作为一款BS产品,browser端的JavaScript是必不可少的。 FineReport中的js是已经调用了finereport.js的。 大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入...
  • 需要先注册,参看 config:组件的具体属性 描述 示例 var $el = $(" var config = { xtype:'combo', widgetUrl:'testSource/source.js' }; var com = FR.comp.create($el, "combo", config); 触发一个有FR.OB对象定义...
  • FineReportJS如何自定义按钮导出

    千次阅读 多人点赞 2017-02-28 10:05:54
    FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...
  • finereportjs打印,js调用打印_…

    千次阅读 2018-02-08 17:49:29
    转自:http://help.finereport.com/doc-view-1087.html 目录: 1. 问题描述 2. 解决方案 3. 实现步骤 4. 注意 1. 问题描述编辑   FR工具栏中虽然有打印按钮,但是位置与样式比较死,只能...
  • FineReport为例,开放了大量的JS API给用户,根据执行JS的主体不同可以将分为三大类:FR、FS和contentWindow。 在js语句中执行可以使用FR的方法或者属性,比如说FR.Msg.alert,FR中的方法比如引入finereport.js。...
  • 随着移动互联网的发展,移动报表逐渐成为一种流行的办公应用,移动端开发也逐渐成为报表开发中一个重要部分,本文将简单介绍一下移动端报表JS的二次开发。
  • FineReport中的js是已经调用了finereport.js的。 大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReportjs,这个finereport.js中包含了许多内置的functio...
  • 上次介绍FineReportJS API中的第一类开发--FR,这次就来介绍一下FS和contentWindow类的开发。 1 FS FS是数据决策系统中的js接口,比如说FS.tabPane.addItem,先介绍几类操作: 1.1 FS.Trans.signOut() 退出决策...
  • FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...
  • 在线报表FineReportjs自定义按钮…

    千次阅读 2018-02-08 17:49:32
    FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想讲报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会...
  • 在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本、API接口等进行深入的开发与控制。 考虑到JS脚本开发的使用较多,这里先先简单介绍如何用JS对...
  • fineReport 下拉联动 js

    2019-06-13 11:20:00
    var state = this.options.form.getWidgetByName("state").getValue(); var city = this.options.form.getWidgetByName("城市"); city.reset(); var man = this.options.form.getWidgetByName("客户");...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 308
精华内容 123
关键字:

finereportjs