专用JS函数
1 报表冻结与排序
1.1 AppendStyle
函数说明:
用来在报表展现时进行冻结控制。
函数语法:
AppendStyle(x, y, z)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
x | 整数 | 滚动部分的起始行 | 是 |
y | 整数 | 冻结的终止行 | 否 |
z | 整数 | 冻结的终止列 | 否 |
示例:
表示从第7行开始滚动,第1行到第6行之间冻结,第1列到第3列之间冻结
window.onload = appendStyle(7, 6, 3);
1.2 SortInRectangle
函数说明:
用来对报表中的一个矩形区域排序(从开始行到结束行和从开始列到结束列之间的内容),通常在列标头单元格的鼠标事件中调用。
函数语法:
sortInRectangle(oSelf,iStartRow,iEndRow,iStartCol,iEndCol,iDataType)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
oSelf | 单元格 | 值为this,固定 | 是 |
iStartRow | 整数 | 起始行 | 是 |
iEndRow | 整数 | 终止行 | 是 |
iStartCol | 整数 | 起始列 | 是 |
iEndCol | 整数 | 终止列 | 是 |
iDataType | 整数 | 待排序列的数据类型, 1:字符串类型;2:数字类型;3:日期类型(现在对日期类型的排序,只支持yyyy-MM-dd,yyyy.MM.dd,yyyy/MM/dd这几种格式的日期) | 是 |
示例:
在第1列的标头单元格左键鼠标事件属性中应用,那么报表展现后,单击该单元格可以进行从7行到37行之间(不包括第37行),首列到第7列之间排序(包含第7列),当前单元格是数字类型:
SortInRectangle (this,7,37,1,7,2);
1.3 SortExtendedData
函数说明:
用来对扩展出来的数据进行排序,通常在列标头单元格的鼠标事件中调用。
函数语法:
sortExtendedData(cell,excludedRowCounts,dataType)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
cell | 单元格 | 值为this,固定 | 是 |
excludedRowCounts | 整数 | 排除的行数(去除扩展单元格下方的行) | 是 |
dataType | 整数 | 待排序列的数据类型 ,1:字符串类型;2:数字类型;3:日期类型(现在对日期类型的排序,只支持yyyy-MM-dd,yyyy.MM.dd,yyyy/MM/dd这几种格式的日期) | 是 |
示例:
依照当前单元格,去除扩展单元格下方的2行,数据类型为数字类型,进行排序:
sortExtendedData(this,2,2);
2 展现、导出与打印API
页面引用功能函数js文件:unieap\pages\report\js\reportFunction.js
2.1 reportShow
函数说明:
用来展现报表结果的js函数。
函数语法:
reportShow(param,target)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
param | 对象 | 报表参数的集合 | 是 |
target | 字符串 | 展示报表的target,为空时指向一个新页面 | 否 |
示例:
var param={};//报表参数
param.reportId="089ac167-785c-4b39-a864-ec710b5a94";
param.newReport="true";
param.name=”中国”;
var target="reportDemo";
reportShow(param,target);
说明: Param里的参数成对值出现;target的值为一个iframe的id;
2.2 DSReportShow
函数说明:
用来展现DataStore数据集的报表
函数语法:
DSReportShow(param,target)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
param | 对象 | 报表参数的集合 | 是 |
target | 字符串 | 展示报表的target,为空时指向一个新页面 | 否 |
示例:
var dc = new unieap.ds.DataCenter();
dc.addDataStore(dataCenter.getDataStore("orders"));
dc.addDataStore(dataCenter.getDataStore("title"));
var param={};
param.reportId="datacenter_report_orders";
param.newReport="true";
param.datacenter=dc.toJson();
DSReportShow(param);
说明:
将DataCenter转成json字符串,作为datacenter参数传给报表。
2.3 reportPrint
函数说明:
打印报表的js函数
函数语法:
reportPrint(param,type)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
param | 对象 | 报表参数的集合 | 是 |
type | 字符串 | 取值为:”applet”,”lodop”,”flex”三种打印方式,默认为applet | 否 |
示例:
var param={};
//报表参数
param.reportId="089ac167-785c-4b39-a864-ec710b5a94";
param.newReport="true";
param.name=unieap.byId("s_name").getValue();
//打印相关参数
param.isResultant="false";
param.silent="no";
param.setPageSetup="false";
reportPrint(param,”applet”);
打印参数说明:
reportId:需要打印的报表ID。
isResultant: 标识是否是报表结果的打印
setPageSetup: 标识是否出现applet打印设置界面
silent (yes 或 no) : 标识是否为一键打印,如不写则为no
2.4 reportExport
函数说明:
报表各种导出的js API,例如导出excel、pdf等
函数语法:
reportExport(param,type,needProgressBar)
参数说明:
名称 | 数据类型 | 说明 | 是否必需 |
---|---|---|---|
param | 对象 | 报表参数的集合 | 是 |
type | 字符串 | 导出类型,取值范围:”excel”, ”pdf”, ”word”, ”csv”, ”html”, ”img” | 否 |
needProgressBar | 字符串或者布尔值 | 是否带等待条(默认否) | 否 |
示例:
var param={};
param.reportId="089ac167-785c-4b39-a864-ec710b5a94";
param.newReport="true";
param.name=unieap.byId("s_name").getValue();
var type=”excel”;
reportExport(param,type,true);
说明:
csv,html,img不带等待条的功能,即使设置了第三个参数也不起作用。