Clark.Pan 发表于 2024-9-24 14:37:05

为报表(ReportSheet)数据源字段设置中英文映射关系

本帖最后由 AlexZ 于 2024-10-9 14:00 编辑

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


解决方案:
在设置报表数据源时,有一个叫做dataName的属性,该属性可以建立字段名称与数据源字段名称的一个映射关系。利用该设置我们可以实现上述需求,如下面代码所示。为作对比,代码中部分字段设置了dataName(其余字段没有做设置为默认)
var dataManager = spread.dataManager();
var dataSourceOption = {
remote: {
    read: {
      "url": "https://demodata.grapecity.com/northwind/api/v1/Orders",
      "method": "get"
    }
},
schema: {
    columns: {
      "订单编号": {dataName: "orderId"},
      "顾客编号": {dataName: "customerId"},
      "雇员编号": {dataName: "employeeId"},
      "订单日期": {dataName: "orderDate"}
    }
}
};
                        
var myTable = dataManager.addTable("订单表", dataSourceOption);
                        
designer.refresh();实际运行结果如下:

可以看到做了dataName映射的字段为中文显示,其余字段仍为英文显示。
使用上述字段创建一个报表模板,结果如下:


可以看到中文的字段会显示在报表模板上,在预览界面也可以正确的数据填充到字段上。

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

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


页: [1]
查看完整版本: 为报表(ReportSheet)数据源字段设置中英文映射关系