Clark.Pan 发表于 2023-11-1 15:24:57

样式与标签设置如何参与排序

背景:

客户使用SpreadJS右键菜单中的排序功能,发现设置的样式不会随着排序的。如何让样式跟着排序的变化走。
例如下面的截图所示:
排序前6,4,1分别为蓝色,绿色和红色。

排序之后结果如下:
虽然按照了升序进行了排序,但是单元格的字体颜色没有随着排序发生变化


解决方案:
首先,通过查看客户的代码,发现客户的样式设置是整行设置的。

这个是问题的关键,因为右键的排序功能是按照选中range生效的,客户操作的行为是选中了其中一列进行排序。结果发现这一列的数据变了,但是样式没有随着排序进行变动。

将其拆开改为单元格的样式设置,问题解决

相同的排序操作之后,之后结果如下:
6,4,1分别为蓝色,绿色和红色。样式随着排序改变位置

原因:
排序是range即单元格级别的操作,如果遇到整行设置的属性,会有冲突,无法随着变化。
需要将其改为单元格级别的设置。常见场景有样式,标签(tag)等。
页: [1]
查看完整版本: 样式与标签设置如何参与排序