10.0版本js导出大数据集,提示CustomJSError:

在决策报表中,将参数放在参数界面,设置js导出大数据集没问题,然后新建了一个tab块,在其中一个tab标题下,拖入报表块、标签控件、下拉复选框控件等,设置js导出大数据集,预览时,根据参数查询展示数据没问题,导出时提示CustomJSError: cannot read properites of undefined(reading  'getWidgetByName')

FineReport 1007 发布于 2024-3-26 09:51
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-12-28 14:21

//决策报表的话,要把参数栏放出来。。不然就会报错的  

var widgetNames = ['年月','myname']; //定义数组存放控件名称,改成你真实的控件名称,我用年月与myname做了测试

function getWidgetValueByName(name) {

var widget = _g().parameterEl.getWidgetByName(name);

if (widget == undefined) return;

return widget.getValue();

}

let paramJson = {}

widgetNames.forEach(function (target) {

paramJson[target] = getWidgetValueByName(target)

})

var paramStr=encodeURIComponent(JSON.stringify(paramJson));

var sql_name=encodeURIComponent("ds1"); // 数据集名称要转码,自己改数据集名称

var excel_name=encodeURIComponent("导出测试"); // 导出的excel文件名,自己修改excel的文件名称

_g().directExportToExcel(sql_name, excel_name, paramStr);

----------------------------------------

改成这样写,设置一个按钮 的点击事件,它就与你的数据预览没有关系,这个是直接从数据集导出的,没有任何格式了。

最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-3-26 09:53

setTimeout(function() { //SetInterval:每100毫秒执行一次,setTimeout:100毫秒后执行一次

你的JS 试试

}, 100);

  • 1007 1007(提问者) 也是在按钮下加js事件对吗?
    2024-03-26 09:55 
  • Z4u3z1 Z4u3z1 回复 1007(提问者) 是的
    2024-03-26 09:56 
  • 1007 1007(提问者) 这个function里面是空的吗?我刚刚加了初始化这个,setTimeout(function(){},100),还是不行
    2024-03-26 10:02 
  • Z4u3z1 Z4u3z1 回复 1007(提问者) function里面写着“你的JS”啊
    2024-03-26 10:05 
  • 帆软用户jQ0h7FmASD 帆软用户jQ0h7FmASD 大佬 问一下 加完你这个点击确实不报错了 但没反应是什么情况呀
    2024-04-25 17:48 
  • 2关注人数
  • 389浏览人数
  • 最后回答于:2024-12-28 14:21
    请选择关闭问题的原因
    确定 取消
    返回顶部