天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 420|回复: 1

[已解决] 通过脚本设置报表内容

[复制链接]
yaya 发表于 2022-10-8 18:11:21 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:通过脚本设置报表内容










1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| yaya 发表于 2022-10-8 18:12:13 | 显示全部楼层
//通过脚本定义打印图表
(function () {
    var FontBuilder = Packages.net.sf.dynamicreports.report.builder.style.FontBuilder;//系统自定义类
    var DynamicReports = Packages.net.sf.dynamicreports.report.builder.DynamicReports;
    var Templates = Packages.cn.myapps.report.examples.Templates;
    var TextColumnBuilder = Packages.net.sf.dynamicreports.report.builder.column.TextColumnBuilder;
    var DRDataSource = Packages.net.sf.dynamicreports.report.datasource.DRDataSource;
    var DRException = Packages.net.sf.dynamicreports.report.exception.DRException;
    var JRDataSource = Packages.net.sf.jasperreports.engine.JRDataSource;

    var BigDecimal = Packages.java.math.BigDecimal;
    var Integer = Packages.java.lang.Integer;

    function createDataSource() {
        var dataSource = new DRDataSource("item", "quantity", "unitprice");//新建一个类的实例
        dataSource.add("Tablet", new Integer(350), new BigDecimal(300));
        dataSource.add("Laptop", new Integer(300), new BigDecimal(500));
        dataSource.add("Smartphone", new Integer(450), new BigDecimal(250));
        return dataSource;
    }

    var boldFont = DynamicReports.stl.fontArialBold().setFontSize(12);

    var itemColumn = DynamicReports.col.column("Item", "item", DynamicReports.type.stringType());
    var quantityColumn = DynamicReports.col.column("Quantity", "quantity", DynamicReports.type.integerType());
    var unitPriceColumn = DynamicReports.col.column("Unit price", "unitprice", DynamicReports.type.bigDecimalType());

    return DynamicReports.report().setTemplate(Templates.reportTemplate)
        .columns(itemColumn, quantityColumn, unitPriceColumn)
        .title(Templates.createTitleComponent("Bar3DChart"))
        .summary(DynamicReports.cht.bar3DChart()
            .setTitle("Bar 3D chart")
            .setTitleFont(boldFont)
            .setCategory(itemColumn)
            .series(DynamicReports.cht.serie(quantityColumn), DynamicReports.cht.serie(unitPriceColumn))
            .setCategoryAxisFormat(DynamicReports.cht.axisFormat().setLabel("Item")))
        .pageFooter(Templates.footerComponent)
        .setDataSource(createDataSource());

})()

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 21:23

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表