【14.2.5】setDataSource再次设置会被之前的样式影响[SJS-18795]
本帖最后由 Joestar.Xu 于 2023-6-20 10:06 编辑第一次设置数据源setDataSource(),每行样式(背景色,合并单元格,formatter等)根据要求显示不同,等到数据变化后,数据变化了,setDataSource后怎么上一次设置的样式什么的都还在,我需要它根据新数据调整成其他样式。
所以怎么在表格加载完后,只清空setDataSource设置的数据和样式,不动表头,重新设置新的数据和样式呢?
您好,我在您的Demo的基础上进行了修改,请查看一下是否是您想要的效果。
您好,从您的描述来看无法判断您遇到了什么问题,能否提供一个可以复现Demo这边调查一下? Joestar.Xu 发表于 2023-6-16 14:58
您好,从您的描述来看无法判断您遇到了什么问题,能否提供一个可以复现Demo这边调查一下?
附件写了个简单的例子,初始数据如下,每行数据根据条件会展示成不同,比如第二行第一列是合并单元格,
点击下面修改数据,每行数据不同了,条件也变化了,第二行不应该是合并单元格,但是现在还是,所以是第一次设置数据的样式没有被覆盖
这样的问题不仅仅局限于合并单元格们还可能在其他样式,如果没有覆盖就会被影响,所以想知道有没有清空表内之前的设置,在再次设置进update方法是能以初始状态去渲染数据,不被之前的样式影响。
Joestar.Xu 发表于 2023-6-16 11:39
您好,我在您的Demo的基础上进行了修改,请查看一下是否是您想要的效果。
如果上一次设置数据设置了公式和数字检验,把数据源置空没用哦,还是会遗留。 大Vi 发表于 2023-6-17 00:28
如果上一次设置数据设置了公式和数字检验,把数据源置空没用哦,还是会遗留。
数字校验 本帖最后由 Joestar.Xu 于 2023-6-27 15:00 编辑
大Vi 发表于 2023-6-17 00:28
如果上一次设置数据设置了公式和数字检验,把数据源置空没用哦,还是会遗留。
您好,请问您的公式和数字校验具体是怎么设置的呢?可以提供一个Demo吗? Joestar.Xu 发表于 2023-6-19 10:14
您好,请问您的公式好数字校验具体是怎么设置的呢?可以提供一个Demo吗?
合并单元格行price列需要设置校验,独立单元格行不需要
合并单元格行amount列需要设置公式,独立单元格行不需要
点击下面按钮切换数据后,原来的行还是保留了之前的校验和公式,我要的是根据新数据的行属性重新设置,或者在重新加载数据前先清空所有之前的这类设置。
大Vi 发表于 2023-6-19 13:02
合并单元格行price列需要设置校验,独立单元格行不需要
合并单元格行amount列需要设置公式 ...
您好,在重新加载数据前清空之前这类设置可以参考以下代码:
sheet.setDataValidator(
0,
0,
sheet.getRowCount(),
sheet.getColumnCount(),
null
);
sheet.setArrayFormula(0, 5, sheet.getRowCount(), 1, undefined);
但是我发现即使我添加了这些代码,即在重新加载数据前清除了这些验证和公式后,您在update这个方法中还是添加上了这些验证与公式,结果看上去也没有问题,所以还是不太明白您的需求。 本帖最后由 大Vi 于 2023-6-19 15:58 编辑
Joestar.Xu 发表于 2023-6-19 14:53
您好,在重新加载数据前清空之前这类设置可以参考以下代码:
很奇怪,放在sheet.setDataSource(data)后面就可以完全清除=
但是放在sheet.setDataSource([])前面,单单还有一个校验没清除
页:
[1]
2