HTML 渲染报表

阅读(15) 标签: html渲染框架,

概述

润乾报表配套提供纯HTML渲染框架,可渲染发布报表、参数表单、大报表、报表组、填报表、统计表、Dashboard等各类报表。与传统JSP标签方式不同,纯HTML渲染框架采用声明式渲染。用户无需编写JSP页面,只需在HTML页面引入框架所需JS文件,配置data-base-url,再定义一个带属性的div元素;框架即可完成报表解析与运算,并按照配置属性的要求,将报表HTML输出至客户端浏览器。

本章主要介绍声明式渲染报表的使用方法,包含总体介绍、通用使用流程、通用属性规则,以及发布报表、参数表单、大报表、报表组、填报表、统计表、Dashboard各类报表的详细说明。

原理和用途

传统方案需要在JSP文件中通过taglib标签发布报表,该方式依赖JSP与标签库解析。若不希望使用JSP,可在自有页面引入框架JS文件、配置data-base-url,编写div元素即可展示报表。声明式渲染原理如下:页面加载完成后,框架扫描页面中带有报表类型标识(data-report-type属性)的div,根据div上声明的属性完成报表解析与运算,并按照用户配置的属性要求,将报表HTML输出到该div所在位置,在客户端呈现报表。

使用准备

1)引入必要的JS文件,并配置data-base-url

HTML页面的head标签内引入HTML渲染框架所需JS文件。data-base-urlHTML动态加载源地址。

<script src="../../../js/jquery-3.6.0.min.js"></script>

<link rel="stylesheet" type="text/css" href="../../easyui/themes/default/easyui.css">

<link rel="stylesheet" type="text/css" href="../../easyui/themes/icon.css">

<script type="text/javascript" src="../../easyui/jquery.min.js"></script>

<script type="text/javascript" src="../../easyui/jquery.easyui.min.js"></script>

<script type="text/javascript" src="../../easyui/locale/easyui-lang-zh_CN.js"></script>

<script src="../js/report-framework.js" data-base-url="/demo/reportServlet"></script>

<script src="../js/i18n.js"></script>

jquery-3.6.0.min.jsjQuery基础库,提供DOM操作、事件处理、AJAX等框架运行所需基础能力。

easyui报表大量交互组件依赖该库。

report-framework.js报表渲染核心js文件。

i18n.js用于页面静态文本的国际化语言转换。

 

2)编写声明式div

HTML页面的body标签内编写带有data-report-type属性及对应报表类型属性的div元素,即可通过声明式方式渲染报表。下面以发布报表为例:

<html>

<head>

<meta charset="UTF-8">

<!-- 按需引入框架依赖:jqueryeasyuireport-framework.jsi18n.js -->

<script src="../../../js/jquery-3.6.0.min.js"></script>

<link rel="stylesheet" type="text/css" href="../../easyui/themes/default/easyui.css">

<link rel="stylesheet" type="text/css" href="../../easyui/themes/icon.css">

<script type="text/javascript" src="../../easyui/jquery.min.js"></script>

<script type="text/javascript" src="../../easyui/jquery.easyui.min.js"></script>

<script type="text/javascript" src="../../easyui/locale/easyui-lang-zh_CN.js"></script>

<script src="../js/report-framework.js" data-base-url="/demo/reportServlet"></script>

<script src="../js/i18n.js"></script>

</head>

<body>

<!-- 编写div元素,实现报表声明式渲染 -->

<div id="reportContainer"

data-report-type="report"

data-report-name="report1"

data-report-reportFileName="网格报表.rpx"

data-report-funcBarLocation="no" >

</div>

</body>

</html>

 

HTML渲染框架的公共属性,适用于各种报表类型

HTML渲染框架提供一组公共属性,适用于全部报表类型(reportparamformbiggroupinputaggrdashboard),用于声明报表的基本渲染行为。各公共属性说明如下:

属性名

是否必填

属性含义

属性取值

缺省值

data-report-type

声明当前div需要渲染的报表类型,框架根据该值选择对应的渲染逻辑与属性集合

常量:reportparamformbiggroupinputaggrdashboard

data-report-scanParamform

是否自动扫描并加载对应的参数模板

布尔值:truefalse

false

data-report-paramformcontainerid

参数模板的容器id

符合变量命名规则的字符串,在当前页面内唯一

data-report-paramformconfig

参数模板配置

json字符串

data-report-includehtml

url响应正文直接加载到容器内

url字符串

data-report-udfreportrequest

自定义报表加载请求地址

url字符串

属性使用说明:

1)所有公共属性均以data-report-作为前缀,声明在div标签上;属性值采用字符串形式,多个属性之间以空格分隔。

2data-report-type为必填属性,用于声明报表类型,框架依据该属性选择对应的渲染逻辑与属性集合。

3data-report-paramformconfig的属性值为json字符串,必须严格遵循JSON语法规范编写。

4)其余可选属性可根据实际需求配置,未配置时采用框架默认行为。

注意事项:

属性名大小写敏感,必须严格按照文档书写;data-base-url配置在report-framework.js对应的script标签上,不属于div标签属性。