报表块不可以插入控件吗?

微信图片编辑_20201130111313.jpg

像手机端这样的按钮和日期控件用finereport该怎么实现呢?

FineReport 消灭碧油鸡 发布于 2020-11-30 11:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
axingLv6专家互助
发布于2020-11-30 11:31

[通用]顶部参数面板插件-https://help.fanruan.com/finereport/doc-view-2656.html


最佳回答
0
snrtuemcLv8专家互助
发布于2020-11-30 11:15(编辑于 2020-11-30 11:16)

报表块不行,可以在报表块外面使用控件

image.png

最佳回答
0
luojian0323Lv7资深互助
发布于2020-11-30 11:16(编辑于 2020-11-30 12:20)

报表块可以插入自定义html 控件


Qbutton.js

image.pngimage.png

添加初始化后事件,加载js :

image.png

function dynamicLoadJs(url) {
    var oHead = document.getElementsByTagName('head').item(0);
    var oScript = document.createElement("script");
    oScript.type = "text/javascript";
    oScript.src = url;
    oHead.appendChild(oScript);
}
//封装的方法,无需任何改动
dynamicLoadJs("/webroot/help/css/Qbutton.js");
//调用方法,参数为js文件路径

给报表块中的单元格中添加对象:

image.png

'<jelly-switch id="Qbutton" checked></jelly-switch>'

给对象添加 点击事件,修改标签 :

image.png

setTimeout(function() {
    $("#Qbutton").click(function() {
        //给开关按钮绑定点击事件
        var state = this.checked;
        //获取按钮值,返回true和false
        _g().getWidgetByName("report0").gotoPage(1, "{checked:" + state + "}", true);
        //将参数checked传参,并刷新报表块report0
        if (state) {
            $("#REPORT1 td[id^='A1']").text('显示单价');
            $("#REPORT1 td[id^='A1']").css("color","#11c75d");
        } else {
            $("#REPORT1 td[id^='A1']").text('隐藏单价');
            $("#REPORT1 td[id^='A1']").css("color","#FF4651");
        }
        //动态修改A1内容和字体颜色
    });
}, 500)


  • 4关注人数
  • 346浏览人数
  • 最后回答于:2020-11-30 12:20
    请选择关闭问题的原因
    确定 取消
    返回顶部