找回密码
 立即注册

QQ登录

只需一步,快速开始

Clark.Pan 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-9-24 14:37  /   查看:24  /  回复:0
背景:
用户提出需求,在报表功能的数据源中,字段名跟随数据通常是英文显示。希望字段名能显示为中文,因为如果最终用户在使用报表设计器设计报表时,如果给与一个引文的字段名称,解读起来会造成困难。


解决方案:
在设置报表数据源时,有一个叫做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
可以看到中文的字段会显示在报表模板上,在预览界面也可以正确的数据填充到字段上。

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

0 个回复

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