参考:设计器函数汇总- FineReport帮助文档 - 全面的报表使用教程和学习资料
文本函数
参考:文本函数概述- FineReport帮助文档 - 全面的报表使用教程和学习资料
函数 | 说明 | 示例 |
EXACT(text1,text2) | 检测两组文本是否相同。如果完全相同,EXACT 函数返回 TRUE;否则,返回 FALSE。EXACT 函数可以区分大小写,但忽略格式的不同 | EXACT("Spreadsheet","Spreadsheet")=true EXACT("Spreadsheet","spreadsheet")=false |
FIND(find_text,within_text,start_num) | 从指定的索引(start_num)处开始,返回第一次出现的指定子字符串(find_text)在此字符串(within_text)中的索引。 可用于判定字符串是否包含某字符。 | FIND("I","Information")=1 FIND("i","Information")=9 |
FORMAT(object,format) | 返回object的format格式 | FORMAT(1234.5,"#,##0.00") // 1,234.50 |
INDEXOF(str1,index) | 返回字符串 str1 在 index 位置上的字符 | INDEXOF("FineReport",2)=n |
INDEXOF(array,index) | 返回数组在index位置上的元素 index是从 1 开始计数的 | INDEXOF(ARRAY("a","b","c"), 1)=a |
LEN(text) | 返回文本串中的字符数 | 常搭配IF()函数使用,用于判定参数是否有值 |
SPLIT(String1,String2) | 返回由 String2 分割 String1 组成的字符串数组 | SPLIT("hello,world,yes",",") = ["hello","world","yes"] SPLIT("this is very good"," ") = ["this","is","very","good"] |
日期时间函数
参考:日期和时间函数概述- FineReport帮助文档 - 全面的报表使用教程和学习资料
函数 | 说明 | 示例 |
DATEDELTA(date, deltadays) | 返回一个日期——date 后 deltadays 的日期。deltaDays 可以为正值,负值,零 | DATEDELTA("2008-08-08", -10)等于 2008-07-29 DATEDELTA("2008-08-08", 10)等于 2008-08-18 |
DAY(serial_number) | 返回日期中的日。DAY 是介于 1 和 31 之间的一个数 | DAY("2006/05/05") 等于 5 |
MONTH(serial_number) | 返回日期中的月,月是介于 1 和 12 之间的一个数 | MONTH("2004/5/9") 等于 5 |
YEAR(serial_number) | 返回日期中的年。Year是介于1900和9999之间的一个数 | YEAR("2006/05/05")等于 2006 |
DATEINMONTH($pDate, 1) | 查询日期所处月分的第一天 | DATEINMONTH('2023-08', 1)=2023-08-01 |
DATEINMONTH($pDate, -1) | 查询日期所处月份的最后一天 | DATEINMONTH('2023-08', -1)=2023-08-30 |
DATEINMONTH(MONTHDELTA($pDate, -1), 1) | 查询日期的上个月所处月分的第一天 可用于计算环比数据 | DATEINMONTH(MONTHDELTA('2023-08', -1), 1)=2023-07-01 |
DATEINMONTH(MONTHDELTA($pDate, -1), -1) | 查询日期的上个月所处月分的最后一天 可用于计算环比数据 | DATEINMONTH(MONTHDELTA('2023-08', -1), -1)=2023-07-31 |
DATEINYEAR($pDate, 1) | 查询日期所处年份的第一天 可用于计算年累数据 | DATEINYEAR('2023-08', 1)=2023-01-01 |
YEARDELTA($pDate, -1) | 查询上年同月日期所处月分的第一天 | YEARDELTA('2023-08', -1)=2022-08-01 |
DATEINMONTH(YEARDELTA($pDate, -1), -1) | 查询上年同月日期所处月分的最后一天 | DATEINMONTH(YEARDELTA('2023-08', -1), -1)=2022-08-31 |
同比:(本月-上年度的本月) / 上年度的本月*100%
环比:(本月-上个月) / 上个月*100%
数组函数
参见:数组函数概述- FineReport帮助文档 - 全面的报表使用教程和学习资料
函数 | 说明 | 示例 |
ARRAY(arg1,arg2...) | 返回一个由 arg1,arg2,...组成的数组. [arg1,arg2,...]可以由字符串或者数字构成。 | ARRAY("hello","world") |
GREPARRAY(array,fn) | 通过 fn 条件过滤 array 数组,返回过滤后的新数组。 注:fn 参数必须符合格式要求,否则过滤不生效。比如名称没有定义成 item/index,返回值为原数组。 | GREPARRAY([3,4,2,3,6,8,7], item != 3) 返回 [4,2,6,8,7] GREPARRAY([3,4,2,3,6,8,7], index!= 3) 返回 [3,4,3,6,8,7] |
JOINARRAY(array,sepa) | 返回一个由sepa作为分隔符的字符串 数组转字符串 | JOINARRAY(['hello','world'],"-")=hello-world JOINARRAY([1,2],";")=1;2 |
INARRAY(co, array) | 返回 元素co 在数组 array 中第一次出现的位置,如果 co 不在 array 中,则返回 0 | 如果String[] arr = {"a","b","b","c","d"} ,则: INARRAY("b", arr)返回元素"b"第一次出现的位置 2 INARRAY("e", arr)返回 0 |
INDEXOFARRAY(array, index) | 返回数组 array 的第 index 个元素 | INDEXOFARRAY(["第一个", "第二个", "第三个"], 2),则返回"第二个"。 |
value函数
参见:Value函数- FineReport帮助文档 - 全面的报表使用教程和学习资料
VALUE(tableData,col):返回tableData中列号为col的一列值。tableData表示数据集名称,注意是「报表数据集」或者是「服务器数据集」名,而非数据库中的表名。
示例 | 说明 |
value("ds1",3) | 取 ds1 数据集中第 3 列的数据 |
value("ds1",1,2) | 取 ds1 数据集中第 1 列第 2 行的数据 |
value("ds1",3,4,"America") | 取ds1 数据集中第3列元素,且该列元素对应的第4列元素的值是 America 的所有数据 |
value("ds1",3,4,"America",1) | 取ds1 数据集中第3列元素,且该列元素对应的第4列元素的值是 America 的所有数据中第一个值 |
SQL函数
参见:SQL函数- FineReport帮助文档 - 全面的报表使用教程和学习资料
SQL(connectionName,sql,columnIndex,rowIndex):返回的数据是从 connectionName 数据库中获取的 SQL 语句的表中的第 columnIndex 列第 rowIndex 行所对应的元素。
SQL("FRDemo","SELECT * FROM STSCORE where 1=1 "+if(len(class)== 0,"","and CLASSNO = '"+class+"'"),3)
SQL("FRDemo", "SELECT p.cPersonCode as cPersonCode from person p where p.cDepCode='"+D3+"'", 1)
结果集函数
参见:数据集函数概述- FineReport帮助文档 - 全面的报表使用教程和学习资料
-
tablename.select
tablename.select(colname,筛选条件1&&筛选条件2&&......):筛选出数据集某列中符合条件的数据,返回结果是一个数组,相同数据不会合并。
示例 | 说明 |
ds1.select(产品名称) | 返回数据集 ds1 产品名称列中的所有产品名称 |
ds1.select(产品名称,库存量>20&&订购量 > 30) | 返回数据集 ds1 库存量大于 20 且订购量大于 30 的产品 |
ds1.select(产品名称,供应商="1"||库存量>30) | 返回数据集 ds1 供应商为1或者库存量大于 30 的产品 |
-
tablename.group
tablename.group(colname,筛选条件 1 && 筛选条件 2,升降序):筛选出数据集某列中符合条件的数据,若相邻数据相同则进行合并,还可以按照该列进行升降序排列。
示例 | 说明 |
ds1.group(销售员) | 返回数据集 ds1 销售员列中的值,并且相邻数据若相同会进行合并 |
ds1.group(销售员,地区 = "华东"&&销量 > 200) | 返回数据集 ds1 华东地区销售总额超过 200 的销售员,并且相邻数据若相同会进行合并 |
ds1.group(销售员,true,false) ds1.group(销售员,,false) | 返回数据集 ds1 销售员列中的值,并且其中只要数据相同就会进行合并,结果为降序排列,中间的参数为过滤条件,若没有条件,可以用空替代或者使用 true |
ds1.group(销售员,地区=="华东") | 返回数据集 ds1 华东地区的销售员,并且相邻数据若相同会进行合并 |
ds1.group(销售员,地区=="华东",true) | 返回数据集 ds1 华东地区的销售员,并且会合并所有相同项,结果为升序排列 |
注:指定排序,会合并所有相同项,不指定排序,相邻数据相同才会进行合并。
-
tablename.value
tablename.value(row,col/colname):获取数据集 ds1 中某行某列的值。
示例 | 说明 |
ds1.value(3,2) | 返回数据集 ds1 中第 3 行第 2 列的值 |
ds1.value(3,"销售员") | 返回数据集 ds1 中第 3 行销售员列的值 |
报表分页接口
参见:报表分页接口- FineReport帮助文档 - 全面的报表使用教程和学习资料
JS自定义按钮实现报表块翻页- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
gotoPage(pn, para, noCache) | 跳转到指定页 pn:页序号,序号从 1 开始 para:跳转报表块页面时携带的参数 noCache:是否使用缓存 | 决策报表中 report0 报表块跳转到第 3 页: _g().getWidgetByName('report0').gotoPage(3); 决策报表,自定义查询,查询条件改变时,刷新report0报表块: // 获取查询条件值,组装值将 jsonParam 的值作为参数传递给 report0 报表块 _g().getWidgetByName("report0").gotoPage(1, JSON.stringify(jsonParam), true); |
表格对象
参考:表格对象接口- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
getCell(row,col) | 获取第 row 行, 第 col 列的单元格对象 | 决策报表中获取 report0 报表块中 A1 单元格: _g().getWidgetByName('report0').getCell(1,1); |
getValue() | 获取单元格的类型和值 | 获取决策报表中 report0 报表块中 A1 单元格的类型和值: _g().getWidgetByName('report0').getCell(1,1).getValue(); |
getCellValue(sheetindex,address|row,col) 表格历史接口 | 获取特定单元格的值,参数可以为单元格地址,也可以为单元格行列号 | 决策报表中,通过单元格地址方式获取 report0 报表块 A1 单元格的值: _g().getWidgetByName('report0').getCellValue("A1"); |
setCellValue(sheetindex,address,value|row,col,value) 表格历史接口 | 给特定单元格赋值,参数可以为单元格地址,也可以为单元格行列号 | 决策报表中给 report0 报表块的 A1 单元格赋值为“订单号”: _g().getWidgetByName('report0').setCellValue("A1","订单号"); |
getRow(index) | 获取第 index 行所有单元格对象,其中参数为单元格扩展后的行号 | 决策报表中获取 report0 报表块中第一行单元格对象: _g().getWidgetByName('report0').getRow(1); |
getColumn(index) | 获取第 index 列所有单元格对象,其中参数为单元格扩展后的列号 | 决策报表中获取 report0 报表块中第一列单元格对象: _g().getWidgetByName('report0').getColumn(1); |
getRowCount() | 获取报表块共有多少行,计算的是扩展后的行数 | 决策报表中获取 report0 报表块的总行数: _g().getWidgetByName('report0').getRowCount(); |
getColumnCount() | 获取报表块共有多少列,计算的是扩展后的列数 | 同getRowCount() |
setRadius(radius, range, single) | 给报表所有单元格设置圆角,单元格必须有背景色,否则无法看出效果。 | 给决策报表中 report0 报表块整体设置一个 25 的圆角: _g().getWidgetByName('report0').setRadius(25); |
setHeight(height) setWidth(width) | 设置单元格行高/列宽,需要先通过方法获取到单元格行/列。 | 决策报表中将 report0 报表块第 3 行的行高设置为 25: _g().getWidgetByName('report0').getRow(3).setHeight(25); 将普通报表中第 3 列的列宽设置为 25: _g().getColumn(3).setWidth(25); |
getHeight() getWidth() | 获取单元格行高,需要先通过方法获取到单元格行/列。 | 获取决策报表中将 report0 报表块第 3 行的行高: _g().getWidgetByName('report0').getRow(3).getHeight(); 获取普通报表第 3 列的列宽: _g().getColumn(3).getWidth(); |
setStyle(opts) | 设置单元格行/列对象的样式 | 将决策报表中 report0 报表块第一行单元格的样式设置为字体颜色红色、字号14 号: _g().getWidgetByName('report0').getRow(1).setStyle({ fontSize: 14, color: 'red' }); |
参数面板
方法 | 说明 | 示例 |
getWidgetByName(name) | 获取参数面板中的控件,获取后结合控件接口使用 | 获取报表参数面板上的下拉框控件 comboBox0 : _g().getParameterContainer().getWidgetByName("comboBox0"); |
collapse() | 收起参数面板 | 获取参数面板后将其收起: _g().getParameterContainer().collapse(); |
expand() | 展开参数面板 | 获取参数面板后将其展开: _g().getParameterContainer().expand(); |
submit() | 自动提交后查询 | 报表自动提交后查询: _g().getParameterContainer().submit(); |
控件
参见:控件通用- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
getValue() | 获取控件的实际值 | 获取参数面板上 text0 控件的实际值: _g().getParameterContainer().getWidgetByName("text0").getValue(); 普通报表中获取填报单元格中 text0 控件的实际值: _g().getWidgetByName("text0").getValue(); 决策报表中获取 body 中 text0 控件的实际值: _g().getWidgetByName("text0").getValue(); |
setValue(value) | 设置控件的值 | _g().getParameterContainer().getWidgetByName("text0").setValue('文本'); _g().getWidgetByName("text0").setValue('文本'); |
getText() | 获取控件的显示值 | 同getValue() |
visible() | 设置控件可见 | _g().getParameterContainer().getWidgetByName("text0").visible(); _g().getWidgetByName("text0").visible(); |
invisible() | 设置控件不可见 | 同visible() |
setVisible(visibility) | 设置控件可见/不可见,true可见,false不可见 | _g().getParameterContainer().getWidgetByName("text0").setVisible(false); _g().getWidgetByName("text0").setVisible(false); |
isVisible() | 控件是否可见,true可见,false不可见 | _g().getParameterContainer().getWidgetByName("text0").isVisible(); _g().getWidgetByName("text0").isVisible(); |
setEnable(enabled) | 设置控件可用/不可用,true可用,false不可用 | 同setVisible(visibility) |
isEnabled() | 控件是否可用,true可用,false不可用 | 同isVisible() |
reset() | 重置控件、清空控件的内容 | _g().getParameterContainer().getWidgetByName("text0").reset(); _g().getWidgetByName("text0").reset(); |
getType() | 获取控件类型 | 同reset() |
setWaterMark(text) | 添加水印文字(仅支持有输入框的控件) | _g().getParameterContainer().getWidgetByName("text0").setWaterMark('请输入姓名'); _g().getWidgetByName("text0").setWaterMark('请输入姓名'); |
fireEvent(eventName) | 调用控件事件 | 触发其「初始化后」事件: _g().getParameterContainer().getWidgetByName("text0").fireEvent('afterinit'); _g().getWidgetByName("text0").fireEvent('afterinit'); 触发其「点击」事件: _g().getWidgetByCell("A1").fireEvent("click"); |
doClick() | 触发按钮的点击事件,相当于人工点击 | 触发参数面板中按钮 button0 的点击事件: _g().getParameterContainer().getWidgetByName("button0").doClick(); 触发填报单元格中按钮 button0 的点击事件: _g().getWidgetByName("button0").doClick(); 注:此方法为按钮控件专有 |
填报报表常用方法
参见:填报预览专有- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
getWidgetByCell(cell) | 通过单元格地址获取填报单元格中的控件 | 获取单元格中名称为 comboBox0 的所有下拉框控件: _g().getWidgetByCell("A1"); |
appendReportRC(num,cell) | 在特定的位置插入行,指定的单元格需要设置扩展属性 注:不支持移动端 | 报表 A1 单元格行后插入 3 行: report.appendReportRC(3,"A1"); _g().appendReportRC(3,"A1"); |
appendReportRow(cell,sheetindex,num) | 插入行,需要配合「插入行按钮」实现 | 在“sheet1”的“F1”单元格,插入 3 行: report.appendReportRow("F1", 0,3); _g().appendReportRow("F1", 0,3); |
deleteReportRC(cell) | 删除行 注:不支持移动端 | 删除 A1 单元格所在的行: report.deleteReportRC("A1"); _g().deleteReportRC("A1"); |
deleteRows([cell]) | 删除行 注:不支持移动端 | 删除 A1、A2 单元格所在的行: report.deleteRows(['A1','A2']); _g().deleteRows(['A1','A2']); |
refreshAllSheets() | 重新查询,刷新所有 sheet,刷新后会停留在上次查看的 sheet 注:经测试使用移动端填报时,此刷新不生效 | 刷新所有的 sheet: report.refreshAllSheets(); _g().refreshAllSheets(); |
loadSheetByIndex(index) | 切换到指定 sheet,参数为 sheet 序号 | 切换到第 2 个 sheet: report.loadSheetByIndex(1); _g().loadSheetByIndex(1); |
loadSheetByName(name) | 切换到指定 sheet,参数为 sheet 名称 | 切换到名称为“商品”的 sheet: report.loadSheetByName("商品"); _g().loadSheetByName("商品"); |
writeReport(sheetindex) | 强制提交,不校验 | 提交第 2 个 sheet: report.writeReport(1); _g().writeReport(1); |
verifyAndWriteReport(isallsheet) | 校验并提交报表 | 提交所有 sheet: report.verifyAndWriteReport(true); _g().verifyAndWriteReport(true); |
verifyReport() | 数据校验 | 提交校验: report.verifyReport(); _g().verifyReport(); |
importExcel(importStyle) | 导入 Excel | 以自定义导入的方式导入 Excel: _g().importExcel("customize"); |
importExcel_Clean() | 「清空导入」的方式导入 Excel | 以「清空导入」的方式导入 Excel: report.importExcel_Clean(); _g().importExcel_Clean(); |
importExcel_Append() | 「增量导入」的方式导入 Excel | 以增量导入的方式导入 Excel: report.importExcel_Append(); _g().importExcel_Append(); |
importExcel_Cover() | 覆盖导入的方式导入 Excel | 以覆盖导入的方式导入 Excel: report.importExcel_Cover(); _g().importExcel_Cover(); |
注:report需要先获取到的报表对象定义为 report
_g()
参考:全局接口- FineReport帮助文档 - 全面的报表使用教程和学习资料
获取报表对象,获取后结合报表对象的方法和属性使用。「填报预览」多个 sheet 时,获取到的是当前选中的 sheet 表格对象。
方法 | 说明 | 示例 |
getParameterContainer() | 获取参数面板对象 | 获取报表中参数面板对象: report.getParameterContainer(); _g().getParameterContainer(); 获取参数面板上「下拉框」控件 comboBox0: _g().getParameterContainer().getWidgetByName("comboBox0"); |
setName4Empty() | 修改下拉框下拉时的默认文字 | _g().getWidgetByName("pDict").setName4Empty("选择全部"); |
getToolbar() | 隐藏工具栏 | _g().getToolbar().setVisible(false); |
toolBarFloat() | 工具栏对齐方式 | 工具栏右对齐 _g().getWidgetByName("report0").getToolbar(1).toolBarFloat('right'); getToolbar(0): 工具栏在上方 getToolbar(1):工具栏在下方 |
getWidgetByName('report0') | 获取 report0 报表块对象 | _g().getWidgetByName('report0'); |
parameterCommit() | 提交参数后重新查询,刷新报表 | report.parameterCommit(); _g().parameterCommit(); |
loadContentPane() | 重新加载,刷新报表,不提交参数 | report.loadContentPane(); _g().loadContentPane(); |
注:report需要先获取到的报表对象定义为 report
FR
参考:全局接口-FR- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
showDialog(title, width, height, innerContent) | 打开一个对话框 | 打开一个标题为“弹窗”,宽 600、高 400 内容为 “Hello World”的对话框: FR.showDialog("弹窗",600,400,"Hello World"); 打开一个标题为“销量弹窗”,宽 700,高 500 ,弹窗内容为内置模板 GettingStarted.cpt 的对话框: |
closeDialog() | 关闭对话窗 | FR.closeDialog(); |
doHyperlinkByGet(url,config,target,feature) doHyperlinkByPost(url,config,target,feature) | Get/Post 方法打开一个网页页面,可以传递参数,可以设置页面属性 | 打开内置模板 GettingStarted.cpt,一个为“销售报表”,传递参数“华东”和是否显示参数面板,打开方式为对话框,对话框宽 700、高 500: |
remoteEvaluate(formula) | 执行 FR 内置公式,返回公式计算结果。 | 调用 FR 中字符串拼接函数 CONCATENATE 拼接字符串: FR.remoteEvaluate('CONCATENATE("001","1201110")'); 注:此函数存在风险调用,需开启限制开关 |
isEmpty(object) | 判断对象是否为空 | 查看是否存在「文本框控件」text0: FR.isEmpty(_g().getParameterContainer().getWidgetByName("text0")); |
isArray(object) | 判断对象是否为数组 | 定义一个数组,查看其是否为数组: var txt = new Array("I","love","FR"); FR.isArray(txt); |
cellStr2ColumnRow(cell) | 根据单元格编号获取行列索引 | 获取 A1 单元格的行列信息: FR.cellStr2ColumnRow("A1"); A1 单元格的行号: FR.cellStr2ColumnRow("A1").row+1; A1 单元格的列号: FR.cellStr2ColumnRow("A1").col; |
columnRow2CellStr({col:colindex, row:rowindex}) | 根据行列号获取单元格编号 | 获取行索引为 3,列索引为 1 的单元格编号: FR.columnRow2CellStr({col:1, row:3}); // B4 |
FR.Msg
方法 | 说明 | 示例 |
FR.Msg.alert(title, message, callback) | 弹出只有确定按钮的消息框 | 弹出标题为“警告”,内容为“值错误”的消息框: FR.Msg.alert("警告","值错误",function(){}); |
FR.Msg.confirm(title, message, callback) | 弹出带有确认和取消按钮的消息框 | 弹出标题为“警告”,内容为“确定要要删除吗”的消息框: FR.Msg.confirm("警告","确定要删除吗"); |
FR.Msg.prompt(title, message, value, callback) | 弹出可以回传内容的消息框 | 弹出标题为“输入”,内容为“爱好”,默认无值,输入值后传给 textEditor0 「文本框控件」: |
FR.Msg.toast(message) | 报表从页面右上角弹出长条形消息框 | 弹出内容为“导出成功”的长条形消息: FR.Msg.toast("导出成功"); |
用户权限
参考:权限细粒度参数控制- FineReport帮助文档 - 全面的报表使用教程和学习资料
参数 | 说明 | 示例 |
$fine_username | 获取登录系统的用户名 | 例如登录用户名为 Anna $fine_username=Anna |
$fine_display_name | 获取登录系统的姓名(用户名) | 例如登录用户名为 安娜(Anna) $fine_display_name=安娜(Anna) |
$user_name | 获取登录系统的姓名(用户名) | 新增服务器参数:公示 LEFT($fine_display_name, FIND("(", $fine_display_name) - 1) 例如登录用户名为 安娜(Anna) $user_name=安娜 |
$fine_role | 获取登录系统的角色 | 1)若登录用户为超级管理员 $fine_role=superusers 2)若登录用户角色为角色数据架构师 $fine_role=数据架构师 3)若登录用户无角色 该参数值为空 |
$fine_position | 获取部门职位,返回值为一个由部门和职位组成的数组 | 1)若登录用户为「人力资源-部长」 $fine_position={"departments":"人力资源","jobTitle":"部长"} 2)若登录用户为「人力资源-部长」兼「领导部-部长」 $fine_position={"departments":"人力资源","jobTitle":"部长"},{"departments":"领导部","jobTitle":"部长"} 3)若登录用户无部门职位 该参数值为空 |
跑马灯接口
参考:跑马灯接口- FineReport帮助文档 - 全面的报表使用教程和学习资料
方法 | 说明 | 示例 |
startMarquee(opt) | 开启跑马灯效果 | 决策报表中给 report0 报表块添加跑马灯效果,每 0.2s 向左滚动 2 px |
stopMarquee() | 关闭跑马灯效果 | 决策报表中关闭 report0 报表块的跑马灯效果: _g().getWidgetByName('report0').stopMarquee(); |
自定义查询,参数值改变后触发查询
参考:刷新报表页面的方法总结- FineReport帮助文档 - 全面的报表使用教程和学习资料
接口 | 适用范围 | 示例效果 |
_g().parameterCommit() _g().getParameterContainer().submit() | 具有参数栏的所有报表中(包括使用了参数栏隐藏),支持移动端。 | 提交参数后重新查询,刷新报表。 |
_g().gotoPage() 注:此方法可以使用三个参数 gotoPage(pn, para, noCache),跳转到指定页,重新提交参数,有无缓存,使用较灵活 | 适用于分页报表,填报报表,决策报表,支持移动端。 | 跳转到指定页数后重新加载刷新,参数栏不刷新。 |
_g().getWidgetByName().gotoPage() | 仅适用于决策报表,支持移动端。 | 获取决策报表中的报表块,跳转到指定页。 _g().getWidgetByName("report0").gotoPage(1, JSON.stringify(jsonParam), true); |
FR.Chart.WebUtils.getChart("chartID").dataRefresh() | 仅适用于图表,不支持扩展图表。 支持移动端,但移动端决策报表的报表块内图表不支持调用该接口。 | 可以刷新普通报表或决策报表中的图表。 FR.Chart.WebUtils.getChart("chart0").dataRefresh(); |