找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-9-24 14:37  /   查看:388  /  回复:0
本帖最后由 AlexZ 于 2024-10-9 14:00 编辑

背景:
用户提出需求,在报表功能的数据源中,字段名跟随数据通常是英文显示。希望字段名能显示为中文,因为如果最终用户在使用报表设计器设计报表时,如果给与一个引文的字段名称,解读起来会造成困难。


解决方案:
在设置报表数据源时,有一个叫做dataName的属性,该属性可以建立字段名称与数据源字段名称的一个映射关系。利用该设置我们可以实现上述需求,如下面代码所示。为作对比,代码中部分字段设置了dataName(其余字段没有做设置为默认)
  1. var dataManager = spread.dataManager();
  2. var dataSourceOption = {
  3.   remote: {
  4.     read: {
  5.       "url": "https://demodata.grapecity.com/northwind/api/v1/Orders",
  6.       "method": "get"
  7.     }
  8.   },
  9.   schema: {
  10.     columns: {
  11.       "订单编号": {dataName: "orderId"},
  12.       "顾客编号": {dataName: "customerId"},
  13.       "雇员编号": {dataName: "employeeId"},
  14.       "订单日期": {dataName: "orderDate"}
  15.     }
  16.   }
  17. };
  18.                         
  19. var myTable = dataManager.addTable("订单表", dataSourceOption);
  20.                         
  21. designer.refresh();
复制代码
实际运行结果如下:
image.png34109496.png
可以看到做了dataName映射的字段为中文显示,其余字段仍为英文显示。
使用上述字段创建一个报表模板,结果如下:
image.png293482970.png
image.png244992064.png
可以看到中文的字段会显示在报表模板上,在预览界面也可以正确的数据填充到字段上。

这样做给报表设计人员提供了便利,增强了报表模板的可读性。

注意:
目前提供API做对应的设置,报表设计器的添加表设置中并没有直接提供上述功能, 如果有需要可以参考下面这篇帖子对报表设计器的添加表功能做自定制
https://gcdn.grapecity.com.cn/showtopic-227511-1-1.html


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部