找回密码
 立即注册

QQ登录

只需一步,快速开始

xcymoo

超级版主

21

主题

172

帖子

807

积分

超级版主

Rank: 8Rank: 8

积分
807
xcymoo
超级版主   /  发表于:2023-10-26 16:33  /   查看:1827  /  回复:0
本帖最后由 xcymoo 于 2023-10-30 16:12 编辑

众所周知,树形结构可以非常清晰、简洁地表现数据的上下级关系,例如省市区对应的树形结构就是这样的:
image.png745158385.png
像“雁塔区”、“延安市”等这些没有子级的数据,称为树形结构的“叶子节点”,而那些有子级的,则称为“分枝节点”。
对于表格来说,展示这种层级结构,就要通过名称缩进的方式:
image.png863621215.png
使用SpreadJS,可以非常方便地对数据做以上形式的展示,无非就是对名称按照层级深度进行缩进而已。但是我相信使用SpreadJS的开发者,一定不仅仅想做到“展示”,更希望对数据进行操作。

我们设想一个业务场景,某银行在全国各地的区县级区域开设了分行,并希望以区、市、省为维度,做一个存贷款量的统计表。
image.png277681884.png

在修改此统计表时,常有如下几个需求:
1. 点击省和市的序号,其子级自动折叠、展开;
展开折叠.gif

2. 市和省的数据不能被编辑,而是自动计算其子集之和,后面的新增、删除等操作也遵从这个原则;
向上计算.gif

3. 对于层级错误的数据(如汉中市应该属于陕西省,而非西安市),可以通过拖拽来实现层级的移动,也可以用ctrl shift拖拽来改变数据在同一层级的位置;
拖拽.gif

4. 我们可以新增数据,新增时可以选择添加为当前数据的子级,也可以添加为同级;
新增行.gif

5. 删除数据时,若数据有子级,需要一同删除其子数据,如删除西安市,需要将其下的灞桥区、碑林区等一并删除;
删除行.gif

6. 总合计行有数据校验的功能, 若没有通过校验,则背景色变化,鼠标悬浮出现批注;
数据验证.gif


总结
表格展示树形数据的新方式让用户可以轻松地进行数据编辑。通过简单的拖拽操作,用户可以在树形结构中调整、移动各个数据项目的位置。这种直观的交互方式,不仅提高了用户的使用体验,也使得数据编辑变得更加简单、快速。同时,用户还可以通过拖拽来创建、合并甚至删除数据项目,进一步提升数据管理的灵活性和效率。
此外,示例中表格展示树形数据的新方式还具备自动汇总的功能。在传统的表格展示方式中,用户需要手动计算和汇总各个数据,这不仅费时费力,还容易产生错误。而通过新的方式,系统可以自动对树形数据进行汇总和计算,将结果实时展示在表格中。这让用户可以更加便捷地获取整体数据的情况,减少出错的可能性,并为数据分析和决策提供更有价值的参考依据。
此示例的功能都是使用SpreadJS完成的,借助SpreadJS丰富的API,我们可以在保证Excel原生体验的基础上,定制化地实现这样复杂的功能。由于使用了数据绑定,数据在界面上的任何变化都可以在数据源中得到体现,前端修改后的数据也可以轻松地发送给后端。总的来说,结合了SpreadJS后,表格展示树形数据的新方式通过拖拽编辑和自动汇总(向上计算)的功能,为用户提供了更加灵活、高效的数据管理和分析工具。


  

code.zip

18.86 KB, 下载次数: 291

0 个回复

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