找回密码
 立即注册

QQ登录

只需一步,快速开始

高阳0910

初级会员

38

主题

142

帖子

476

积分

初级会员

积分
476
高阳0910
初级会员   /  发表于:2023-7-28 10:09  /   查看:1252  /  回复:5
本帖最后由 高阳0910 于 2023-7-28 10:10 编辑

比如原有单元格  设置绑定字段, sheet.setBindingPath(1, 1, 'name');sheet.setBindingPath(1, 2, 'age');
单元格设置值 sheet.setValue(1, 1, '初始值');sheet.setValue(1, 2, 20);
然后在设置一个source, let person = {age:18} ; let source = new spreadNS.Bindings.CellBindingSource(person);
最后 sheet.setDataSource(person);
原有单元格(1,1) 的 “初始值” 被覆盖了,变成了空单元格。
如何避免绑定了字段 ,但是setDataSource时 不返回某些字段,不覆盖原有单元格的数据。

5 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-28 11:47:40
沙发
您既然绑定了数据源,在设置数据源的时候又不想让其被覆盖掉,那么一开始就没有必要绑定这个数据源。

您在获取到数据源的时候可以去检测一下,如果没有name这个属性,就sheet.setBindingPath(1, 1, null)解除绑定。
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2023-7-28 11:56:22
板凳
Joestar.Xu 发表于 2023-7-28 11:47
您既然绑定了数据源,在设置数据源的时候又不想让其被覆盖掉,那么一开始就没有必要绑定这个数据源。

您 ...

您说的这个是一种方式,但是 有的单元格 有默认值 作为提示。绑定数据源就是为了统一,但是有的人得到的数据源数据也可能会缺少这个单元格的绑定字段,这样的话。默认值的提示没有 就会导致用户不知道填写什么具体的内容。而且是必须绑定的。因为绑定的单元格  数据要提取出来。不能取消绑定。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-28 14:49:10
地板
高阳0910 发表于 2023-7-28 11:56
您说的这个是一种方式,但是 有的单元格 有默认值 作为提示。绑定数据源就是为了统一,但是有的人得到的 ...

那就只能在数据源上进行修改了,如果没有指定的属性的话,就给其添加上一个默认值的属性。
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2023-7-28 14:55:12
5#
Joestar.Xu 发表于 2023-7-28 14:49
那就只能在数据源上进行修改了,如果没有指定的属性的话,就给其添加上一个默认值的属性。

也只能这样了。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-28 15:14:29
6#

嗯嗯,那就先结贴了,后续有其他问题的话随时开贴提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部