在SpreadJS中,对于实际的数据绑定场景,常常遇到这样的需求:举例来说,数据源里有10个字段,但只需要绑定其中的8个字段,另2个字段隐藏。
以表单绑定为例,默认情况下,我们可以用sheet.bindColumns配置绑定列设置,只绑定指定的部分列。
但是,尝试后大家会发现,隐藏字段的数据,不会随显示数据的排序、粘贴等操作而联动。
当我们隐藏了比如id之类的标记字段,再执行排序、粘贴等操作后,就会导致数据结构混乱的结果。
解决方案:
通过挂载对应的事件,以及重写相应的命令来处理。
示例:
以下就拿粘贴举例,这里采用了重写命令和接听事件的方式,解决了此问题。
除此之外,还添加了一个功能:把原始数据保存到隐藏字段中,自动对比发生diff的单元格并标红处理。
请下载附件示例查看运行效果。
|
|