LinkLi 发表于 2024-12-25 11:20:36

【v17.1.0】表格可以进行分栏吗?

SpreadJS,使用数据绑定时候,表格数据可以进行分栏显示吗?

需求效果如下图:


如果不能分栏,有什么建议实现类似效果?

Wilson.Zhang 发表于 2024-12-25 13:37:51

您好!可以了解下ReportSheet的行分栏设置,行分栏能将相同结果的数据沿行分布。

可以参考官网教程了解详情:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/report-sheet/layout/row-layout/purejs

LinkLi 发表于 2024-12-25 13:56:08

Wilson.Zhang 发表于 2024-12-25 13:37
您好!可以了解下ReportSheet的行分栏设置,行分栏能将相同结果的数据沿行分布。

可以参考官网教程了解 ...

这个报表的分栏吧。如果要使用数据绑定功能就没法使用了

Wilson.Zhang 发表于 2024-12-25 16:39:30

LinkLi 发表于 2024-12-25 13:56
这个报表的分栏吧。如果要使用数据绑定功能就没法使用了

ReportSheet报表在设计模板时即定义了数据源的布局效果,相当于数据绑定。
可以参考官网教程了解下模板单元格的作用:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/report-sheet/concepts/template-cell-type/purejs

请教下您使用了表单级别、单元格级别、Table级别中的哪些数据绑定?顺便请教下您是哪个公司的客户?

LinkLi 发表于 2024-12-25 17:14:13

Wilson.Zhang 发表于 2024-12-25 16:39
ReportSheet报表在设计模板时即定义了数据源的布局效果,相当于数据绑定。
可以参考官网教程了解下模板 ...

这个报表插件了解过。但我们这的数据源结构比较复杂,非单纯的行列结构,既有数组列表,又有多属性的对象混杂,所以数据源不好设置。你提到的数据绑定类型我基本都用过

Wilson.Zhang 发表于 2024-12-26 09:19:05

LinkLi 发表于 2024-12-25 17:14
这个报表插件了解过。但我们这的数据源结构比较复杂,非单纯的行列结构,既有数组列表,又有多属性的对象 ...

根据您提供的信息,我理解可以通过数据绑定实现,但是对于您的数据场景而言会比较复杂,意味着您可能需要通过单元格级别或者Table级别做大量重复的绑定结构。

我想了解下您的具体场景,比如是怎样的多属性对象,您可以详细介绍下您的数据源结构以及您需要实现的效果,我据此帮您调研下。

LinkLi 发表于 2024-12-26 10:30:34

Wilson.Zhang 发表于 2024-12-26 09:19
根据您提供的信息,我理解可以通过数据绑定实现,但是对于您的数据场景而言会比较复杂,意味着您可能需要 ...
类似于以下的数据结构:

{
"company": {
    "name": "Alibaba Cloud",
    "founded": 2009,
    "location": {
      "city": "Hangzhou",
      "country": "China"
    },
    "services": [
      "Cloud Computing",
      "Database Services",
      "Security Solutions",
      "Enterprise Applications"
    ],
    "employees": 12345,
    "isPublic": true
},
"products": [
    {
      "id": "001",
      "title": "ECS",
      "description": "Elastic Compute Service",
      "price": 0.1234,
      "available": true,
      "specifications": {
      "cpu": "2 cores",
      "memory": "4GB RAM",
      "storage": ["SSD", "HDD"]
      }
    },
    {
      "id": "002",
      "title": "RDS",
      "description": "Relational Database Service",
      "price": 0.0876,
      "available": false,
      "specifications": null
    }
],
"events": [
    {
      "eventName": "Tech Innovation Day",
      "date": "2024-10-01",
      "participants": ["engineers", "developers", "partners"],
      " keynoteSpeaker": "Dr. Wang",
      "venue": "Alibaba Headquarters"
    }
]
}</span>

Wilson.Zhang 发表于 2024-12-26 13:34:37

LinkLi 发表于 2024-12-26 10:30
类似于以下的数据结构:

我试图分析您提供的对象中的层次结构,如您所言,确实比较复杂。

关于您业务场景中的数据对象,大概了解。
以您提供的代码片段为例,需要您提供下这种数据在sheet中显示的效果图,以便了解下您的预期。

LinkLi 发表于 2024-12-27 08:53:31

Wilson.Zhang 发表于 2024-12-26 13:34
我试图分析您提供的对象中的层次结构,如您所言,确实比较复杂。

关于您业务场景中的数据对象,大概了 ...

这是一版示例表格。

我最初的目标是,数据可以和模板格式解耦。
数据处理由程序进行,然后模板格式由用户自行定义和修改。二者通过统一、相同的数据结构进行关联

Wilson.Zhang 发表于 2024-12-30 10:47:49

本帖最后由 Wilson.Zhang 于 2024-12-30 10:51 编辑

LinkLi 发表于 2024-12-27 08:53
这是一版示例表格。

我最初的目标是,数据可以和模板格式解耦。

结合您提供的对象数据结构和样例文件,如果可以将复杂对象中值为对象的属性分离成单独的数据结构,意味着数据源管理层面可以将单一的数据源表拆分为多个数据源表,类似于数据库中的table,各table之间再通过外键关联。

SpreadJS ReportSheet支持多数据源表,如下图所示的ReportSheet使用了两个数据源表分别为SDO和SDP。


可以参考官网教程评估下这样子是否能满足您的需求:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/report-sheet/showcase/free-report/shipping-delivery-order/purejs
页: [1] 2
查看完整版本: 【v17.1.0】表格可以进行分栏吗?