Lenka.Guo 发表于 2021-6-15 16:45:19

ActiveReportsJS FAQ 汇总(持续更新中...)

本帖最后由 Lenka.Guo 于 2021-12-7 17:16 编辑

ActiveReportsJSFAQ 汇总本帖是永久有效的帖子,会收集售前售后所有新接触 ActiveReportsJS(读音: 艾克特武瑞泡特JS)的同学们常问的问题,令大家困扰的问题,为大家提供一个速查手册,为大家答疑解惑,欢迎各位多多点赞~

报表设计常见问题汇总及数据绑定
在线设计器集成常见问题汇总
报表参数使用常见问题
【评估指南】授权模式与价格
【评估指南】功能答疑







Lenka.Guo 发表于 2021-12-7 15:14:33

本帖最后由 Lenka.Guo 于 2021-12-9 10:08 编辑

【评估指南】功能答疑
这种ActiveReportsJS Json格式的模板有没有说明
答: 使用 ActiveReportsJS 设计器形成的 rdlx-json 文件,本质上就是json格式的模板,这是由ActiveReportsJS 的规范形成的报表声明文件,关于这个JSON文件的声明可以参考帮助文档,有提供了表格和图表的声明API:https://demo.grapecity.com.cn/ac ... ngStarted/Api/index
您好,这个可以直接嵌入到我的web端项目中吗
答: 可以的,可通过报表展示工具将报表展示在Web页面中,即解决各种数据展示样式的问题:https://demo.grapecity.com.cn/ac ... /QuickStart-Vanilla

那打印的方式能不能不显示打印的页面,直接打印出来呢
答: Web端因为权限限制的问题因此是无法直接访问客户端本地资源的,所以也无法直接跳过浏览器进行报表打印,因此使用 ActiveReportsJS 在Web端展示报表时,也是需要展示浏览器的打印预览界面的,ActiveReportsJS 提供了不展示报表可直接进入打印预览界面:https://demo.grapecity.com.cn/ac ... portsJSViewer/Print可以支持java吗,开发也属于试用吗
答:ActiveReportsJS 因为是前端报表控件,因此是在浏览器端运行和执行的,后端如果采用的是Java,.Net都可以使用 ActiveReportsJS, 如果没有正式的部署授权和开发授权,均属于试用版,有30天的试用期。

我们的需求是,想集成报表软件到系统中
答:可以通过 Web开发集成到报表软件中,使用JS,前端框架Vue, Angular, Pure,React框架集成。
另外想问下:支持透视表功能么
答:提供了特有的矩表控件,用于实现数据透视表的动态行列报表功能,且基于此也可实现多维的数据透视表。具体可参考示例:https://demo.grapecity.com.cn/ac ... oweitoushitu/purejs

ActiveReportsJS微信小程序可以用吗?
答:ActiveReportsJS可以通过 Web开发集成到Web项目中,微信小程序中可通过iframe或其他方式将ActiveReportsJS 集成

这个是可以以json的格式和后台进行交互的吧
答:使用报表设计器形成的 .rdlx-json ,本身是存储在服务端的路径下的,在浏览器端加载报表时会根据报表ID再去服务端请求文件后,在客户端进行绘制渲染,因此这个JSON 格式可以与后台进行交互,或是改变请求的方式。

SpreadJS和ActiveReportsJS有啥区别?ActiveReportsJS支持数据填报吗?我需要一款技术既支持在线自定报表也支持数据填报
ActiveReportsJS是专业的报表控件,主要解决数据展示的问题,因此所有展示的后的结果是静态的结果,无法直接进行输入录入和填报,SpreadJS 是类 Excel的表格类控件,可为项目提供类Excel的编辑,录入等能力,但在解决报表展示问题不如ActiveReportsJS 方便,所以如果需要录入和高级的数据展示可配合SpreadJS 和ActiveReportsJS 一起使用。

您好 我在使用ActiveReportsJS ,是否支持可以链接 mysql数据库?我看现在 arjs 是调用 url 需要返回 json的。 我想直接访问mysql 数据库 然后从数据库里面 读取数据 生成报表

ActiveReportsJS 是前端的报表控件,前端的安全策略,为了数据安全,因为前端页面可以改动 如果前端直接连数据库 那同行也得只需要修改页面上的sql语句就可以读取、修改数据库的全部信息,而后台作为执行程序,是会部署到服务器上运行,用户是获取不到的,这就增大了入侵的难度。因此 ActiveReportsJS 可直接访问的也是JSON 数据源,我们可通过 Web API或者 Web Service 返回对应的JSON 数据提供给报表来展示。




Lenka.Guo 发表于 2021-6-15 17:15:31

本帖最后由 Lenka.Guo 于 2022-1-7 13:56 编辑

报表设计常见问题汇总数据绑定

你好,我在设计器里面画的东西,点击预览的时候,说是无效数据集导致不显示?
答:该错误提示,是因为未给有【数据集名称】的控件或页面指定该属性值。如表格控件必须要指定数据集名称这个属性。


在绑定数据源时,为什么提示我的 Json数据不合法?
答: 支持绑定Json 数据最好为对象数组格式。如[{},{},{}], 这样数据在输入JSON Path 查询语句时,才可以获取到规范的 key,value 键值对。且JSON 数据是严格的格式,有任何错误都无法通过数据源验证,测试数据可参考:http://jsonplaceholder.typicode.com/comments

在添加数据集时候,输入JSON Path后,点击验证后,字段只出现了 Field1 名,与实际的字段名不匹配。
答: JSON Path 是根据实际返回的JSON 数据结构相关的,如果出现 Field1 类似自动生成的名称,基本就是JSON Path 语法不正确导致的,如[{"key":value1, "node":{}},{"key":value2},{}] 要获取node节点的数据要输入   $.node.* 。 具体语法可以参考:https://goessner.net/articles/JsonPath/

正常获取数据后,将字段绑定在表格中,为什么只显示该字段的第一个值?
答:表格在默认情况下是,是分三行三列,每一行是不同的作用,首行为表头行用于显示标题,中间行为明细行,用于绑定数据明细,尾行为汇总行用于显示汇总信息。所以如果表格只出现了字段的第一个值,有可能是将字段放置在了表头或汇总行,不会随着绑定字段的值得数量来增加具体的行数。也有可能在添加字段时,默认绑定了Firts函数,只取字段的首个值。
绑定JSON 数据,设置为内嵌的静态数据报表可以预览,但是设置为Web API 或Service API 的URL 或地址,在预览报表时,就报 Failed to Fetch 这样的错误。
答:导致这个错误是因为服务端没有设置允许跨域,可在设计器中打开调试模式,查看控制台输出的具体错误,打开调试模式,参考: https://demo.grapecity.com.cn/activereportsjs/docs/GettingStarted/Troubleshooting然后在服务端配置允许跨域即可

自定义图纸,报表纸张大小
答:自定义图纸大小》》 在属性的右下角,有个属性设置模式,切换为高级属性,可以自定义图纸大小

交叉报表,表头排序,我这边选的是数字类型和降序排序

答:表头排序: 这个需要给您确认下,您现在是要基于表头做整体的升序和降序排序,这个排序,可能是因为月份字段中存储的是“9月”数字+中文,导致排序不生效
表格展示在浏览器时候存在一些粗细的线
表格中存在一些粗细的线 这个是 Chrome内核对html元素 table样式渲染导致的, 在其他浏览器上面是正常的,如果要在Chrome显示正常,可以设置Chrome浏览器解决方法参考:Firefox and IE display it correctly.This is a chromium-based browsers issue.
Steps to fix it:
1. Navigate to chrome://flags/#enable-table-ng
2. Select "Disabled" from the dropdown menu.
3. Restart the browser.

表格编辑器拖拽组件的时候有些卡,这个问题有办法解决么?
答:这是由于对齐网格导致的,把这两个选项取消掉即可,参考截图

图表使用我有一个图表想设计成堆积柱状图,在图表类型切换那里也切换成堆积柱状图了,但是出来的还是分块展示的柱形图。

答案:这个堆积柱形图针对单个字段的值,进行分类汇总,如一个字段多个值比如区域这个字段,包含华南,华东,华北,等,然后将这个字段添加到右侧的明细端,就可以出现堆积的状态。

Lenka.Guo 发表于 2021-11-25 17:28:53

报表参数使用常见问题:

1. 报: Cicular dependency in parameters 错误
该错误提示是参数循环引用导致的,即参数的【可选值】来源的数据集,和参数作用于过滤的数据集,是同一个数据集,而导致的死循环引用。
解决方法:

[*]为参数【可选值】的来源数据集,新建一个数据集。


[*]将数据过滤更改到数据组件上。





Lenka.Guo 发表于 2021-12-7 14:09:57

本帖最后由 Lenka.Guo 于 2021-12-7 15:10 编辑

【评估指南】授权模式与价格
1. 请问报表工具有开源版吗?在线报表工具答:报表工具均是商业付费版本的,我们所有功能未开源,有产品示例源码是开源的,如果您考虑购买授权,我们有对应的API 开放,可直接使用和调用。

2. 我想咨询一下ActiveReportsJS 是怎么授权的呢(ARJS报表的收费模式 是怎么收费的)?
ActiveReportsJS是纯前端报表开发控件,因此授权方式是由两部分组成:开发授权+部署授权,两部分授权都是必须要购买的。
开发授权:每一位使用 ActiveReportsJS 的开发者均需要一个合法的开发授权,才可使用 ActiveReportsJS进行授权, ActiveReportsJS 开发授权可用于激活本地的报表设计器来设计报表。
部署授权:涵盖 SpreadJS 的可再发行文件的复制、分发和部署,是最终应用程序的一部分 。即您需要将包含 ActiveReportsJS 的Web项目部署到服务器上供其他人访问和使用时,该 Web项目需要包含部署授权,部署授权是根据域名或 IP 地址来生成的,一个部署授权必须绑定一个固定的域名。

3. 下载时,有个试用,收费吗
下载后是30天的全功能试用版,如果要测试项目部署效果,可部署为Localhost或机器名不需要部署授权,如果要部署为特定的IP或域名用于测试,可在官网申请测试部署授权。
4. 想了解下 activereportjs的收费模式 和 价格体系
收费模式参考问题2,价格体系可联系销售400-657-6008

5. 授权的是部署系统的域名或者IP
是的,以实际浏览器的地址栏输入的域名或IP为准来申请。
6. 若版本迭代升级,怎么费用呢,还是重新购买
ActiveReportsJS 每年会发布1个大版本,两个SP小版本,每个大版本的授权是不一样的,每个大版本的授权会同样适用于小版本的授权,因此如果遇到版本升级,如果在金牌服务期内,我们发布了新版,可以直接免费获取,如果超过服务期,是无法直接升级,需要新购。
7. 开发授权数量是开发者使用设计软件能激活的数量吧,部署授权费用怎么收取的呢
开发授权数量是以使用 ActiveReportsJS 做开发的开发人员数量为准的,部署授权费用是以您需要的部署授权的个数为准,有多个部署的站点的域名或IP,需要购买对应数量的部署授权。
8. 我开发完 我打包成html文件 在自己电脑上看都不行 一定要部署权限吗?
可以在自己电脑上查看,但需要部署成Localhost或者机器名是不需要部署授权的。
9. 我们的使用场景是 开发完 部署在局域网内 给客户观看。 这个部署授权一定需要购买吗(局域网IP 需要授权)
可以的,不论局域网还是外网,只要地址栏的IP 和生成部署授权的IP一致即可


10. 那我服务器ip可能因为一些特殊情况变动后 再改回来 授权会失效吗
我们的部署授权是根据最终地址栏展示的IP 来比对的, 如果地址栏的IP 和生成部署授权的IP 始终保持一致就行,授权不会失效,只是你改成新的时候,新的那个IP是用不了的,改回来的可以继续用



Lenka.Guo 发表于 2021-12-7 14:15:03

本帖最后由 Lenka.Guo 于 2022-1-7 14:13 编辑

【在线设计器】-集成功能

我想为设计器新建报表时候预设一个像这样的嵌套关系的数据集。我改怎么做,有相关代码可以参考么?
进入设计器预置数据集的话,您可以参考这个帮助文档,调用setDataSourceTemplates 接口:https://demo.grapecity.com.cn/ac ... atasources-Datasets

我想知道如果,数据集是嵌套的是如何预设的?
参考声明示例:为数据集设置nestedTemplates:
designer.setDataSourceTemplates([
      {
      id: "Contoso",
      title: "Contoso",
      template: dataSources.Contoso,
      canEdit: false,      
      shouldEdit: false,
      datasets: [
          {
            id: "Categories",
            title: "Categories",
            template: dataSets.DimProductCategories,
            canEdit: false,
            nestedTemplates:
      }
      ],


ActiveReportsJS产品的左边和上边工具条和我们的布局有比较大的差异,感觉整体风格不一致,是否能够支持把左边和上边的样式改造为和我们的产品风格一致?答案:有个designer.css文件,这个可以修改风格呢,布局整体目前是不能调整的,只能调用一些API 设置行为,API 说明:https://demo.grapecity.com.cn/ac ... eportdesigner.html#


在线设计器能否支持,添加自定义按钮呢?



答:可以的,可以增加“保存”按钮,在这个里面实现发布,可以先通过文档,先了解下实现思路https://demo.grapecity.com.cn/activereportsjs/api/modules/reportdesigner.html#


报表设计器集成到项目中,如何进行汉化
答: 我们为Web设计器提供了内置了四种语言包,英语,日语,中文,韩语,可调用对应的localization资源来设置语言https://demo.grapecity.com.cn/activereportsjs/docs/DeveloperGuide/ActiveReportsJSDesignerComponent/Localization

Lenka.Guo 发表于 2022-1-7 14:05:21

本帖最后由 Lenka.Guo 于 2022-1-7 14:16 编辑

【Viewer集成】功能是否支持多Tab页的报表展示?
答:可以支持的,类似于HTML页面的实现可以的,在HTML 页面加-https://blog.csdn.net/tao111369/article/details/84337856


页面刷新是否可以动态刷新?
答:要对整个页面即Viewer进行刷新,页面刷新了后,报表获取的是最新的数据


不同的数据情况下,背景色/字体颜色不一样,是否可以在ARJS中定义呢?
答:可以的,我们支持条件格式化,可通过编写表达式完成


是否可复用旧的Excel模板,每个部门都会有上百张报表,合计上千张数量,如果无法复用,就得重新设计。
答:ARJS与Excel是两种工具,因此无法不能导入Excel,可以以核心的需求来进行设计,并分发在线设计器给客户,让客户自行设计。


报表的分页是显示级别的分页,数据是一次性加载的? 数据量大的时候有什么最佳实践和建议?
答:数据量大的时候建议使用参数报表,根据自己的需求进行数据过滤,然后显示对应数据, 第二可以采用真分页的方式:https://gcdn.grapecity.com.cn/fo ... 7967&extra=page%3D2
动态连接串,应该对不同环境使用参数实现?
答:报表前端提供修改数据源和数据集的API可以在前端通过代码实现不同环境数据源数据集的修改参考:https://jscodemine.grapecity.com/share/X-mIZ6HuHUCsNDmf9GP82Q/

使用Viewer将报表文件导出PDF,结果PDF中文乱码
答:导出PDF时候需要配置字,如果报表中引用到相关字体,需要配置对应的字体文件,因为前端无法访问本地的字体资源,部分文字不显示是字体没找到,可能是这个字体文件的问题,需要重新切换字体文件,具体字体配置参考博客https://demo.grapecity.com.cn/activereportsjs/docs/GettingStarted/FontConfiguration
页: [1]
查看完整版本: ActiveReportsJS FAQ 汇总(持续更新中...)