找回密码
 立即注册

QQ登录

只需一步,快速开始

penley
金牌服务用户   /  发表于:2020-11-27 17:05  /   查看:2353  /  回复:1
本帖最后由 penley 于 2022-1-18 08:32 编辑

环境:AR14,ASP.NET Core MVC应用中使用JSViewer做报表展现。

由于我无法使用动态数据源为参数传递候选值,所以使用自己的查询界面为报表传递查询参数。
这样,JSViewer的菜单栏,除了导出功能就没什么用处了,故在我的应用中,我想隐藏菜单栏,而把菜单栏上原来的导出按钮放在工具栏上。
一、首先通过调用如下方法,隐藏了菜单栏
  1. viewer.sidebar.toggle(false);
复制代码
二、参考如下文档,增加自定义导出excel按钮
https://gcdn.grapecity.com.cn/fo ... 8328&extra=page%3D1
  1. let excelExportButton = {
  2.                 key: '$pdfExportButtonKey',
  3.                 iconCssClass: 'icon-page_excel',
  4.                 enabled: true,
  5.                 action: function (item) {
  6.                     viewer.export('XLSX', null, true/*, { Title:"这是标题", FileName: '文件.xlsx', Multisheet: false, LayoutMode: "Galley"}*/);
  7.                 },
  8.                 onUpdate: (args, toolbarItem) => {
  9.                     abp.log.debug("args:", args);
  10.                     abp.log.debug("toolbarItem:", toolbarItem);
  11.                 }
  12.             };
  13.             viewer.toolbar.desktop.addItem(excelExportButton);
复制代码


三、问题
按二中方法,可以正常添加按钮,并且可正常导出。
但有一个问题,怎么控制新增加的这个按钮状态,像其他按钮一样,无报表加载(或加载过程中)时,将按钮无效,直到加载完成再变为有效呢?我查看文档,要在onUpdate方法中更新按钮状态。该如何更新呢?怎么判断文档加载完成呢?

我看输入参数中,args.session.state 值会发生变化,是判断这个值吗?


1 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-11-27 17:58:51
沙发
你好,文件加载是否完成,实在该方法中
  1. documentLoaded: () => {  
  2.             //viewer.goToPage(2)                        
  3.         },        
复制代码
这是:当文档完全加载到服务器上时调用的回调。
你可以通过这个方法进行一些操作
  1. <script type="text/javascript">
  2.     var viewer = GrapeCity.ActiveReports.JSViewer.create({
  3.         element: '#viewerContainer',
  4.         reportID: '标签打印.rdlx', //报表名称和参数的传递      

  5.         reportService: {},      
  6.         //renderMode: 'Galley',//画廊模式
  7.         displayMode: 'Continuous',
  8.         // other properties
  9.         documentLoaded: () => {  
  10.             //viewer.goToPage(2)                        
  11.         },         
  12.     });
  13. </script>
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部