【青鸟飞扬教育】SpreadJS 的 Table 手动新增数据后获取完整字段的方法(青鸟艺术培训)

在 SpreadJS 表格控件中,当 Table 数据绑定后,对 Table 插入行,新行内填充部分单元格。在 getDataSource () 返回值中,关于新增行的数据对象,仅有被填充单元格对应的字段。如何获取完整字段,不论对应单元格是否填充了数据。

数据绑定使用的数据是一个 JavaScript 对象,在代码运行期间,这个对象被创建后即存在于内存中。这也是为什么把文件导出时虽然携带了绑定的数据源,但是导入至新应用的 Workbook 中再调用 Worksheet:getDataSource() 得到的结果为 null 的原因。即在新应用运行时的内存空间中没有原本的数据源对象。

解决方法

回到问题背景,虽然新增行在 Table 区域内,但是没有数据,意味着这行数据在数据源对象中是一个各字段属性均不存在的空对象,如图 1 所示。 (图 1. 新行对应空数据对象)

紧接着,如果对新增行内的个别单元格写入数据,数据绑定功能的双向绑定特性将单元格值和相关字段对应起来,组成一个对象。对于没被填充数据的单元格,不做类似处理。因此,Worksheet:getDataSource () 获取到新增行中的数据对象仅包含被填充单元格对应的字段属性,如图 2 所示。 (图 2. 新行数据对象包含被填充字段属性)

那如何获取完整字段呢?即,无论填充了哪些字段,都能获取到这一行对应的完整字段。Worksheet:getDataSource () 应该是做不到了,因为接口并未提供可回调操作的参数,所以需要在接口外想办法了。

回顾下对 Table 执行数据绑定的准备工作,对 Table 列设置绑定路径,而每个列的绑定路径实际上对应为数据源中的一个字段,也就是说数据源模型可知。那么,在代码上下文中存储数据源模型为元数据,同时为每个字段设置数据类型和默认值,后面会用到。如图 3 所示,这个元数据定义了数据源对象的各个字段,名称分别为 a、b、c、d、e 和 f,为简单起见,定义类型均为 string,且默认值为空字符串。

(图 3. 数据源模型元数据)

在 Worksheet:getDataSource () 后,结合数据源模型元数据遍历每行单元格对应的数据对象,检查当前数据对象中是否包含元数据中的每项字段。对于未包含的字段项,在当前数据对象中扩充,并且根据元数据中该字段项的数据类型和默认值设置其值,如图 4 所示代码片段。由于数据源对象存在于内存空间中,因此这一修改动作会直接影响数据源对象状态。

(图 4. 数据对象默认值设置代码)

最终效果如下图所示:

特别声明:[【青鸟飞扬教育】SpreadJS 的 Table 手动新增数据后获取完整字段的方法(青鸟艺术培训)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

含金渣中杂质元素的去除策略(含金渣的处理)

我们专业从事银及含银废料回收,包括针筒银浆回收、导电银浆回收等,在处理这类物料时发现,物理分离能有效去除大部分悬浮态杂质。我们专业从事工业过程含贵金属废料回收,包括电镀厂金泥回收、金缸渣回收等,发现将吸附技术…

含金渣中杂质元素的去除策略(含金渣的处理)

游泳池漆选材难题?信赖水池蓝,长期耐水泳池涂料开启安心玩水模式(游泳池漆用什么漆)

测试显示约40%的泳池三年内需重新涂刷。 海瑞公司研发的新型池底材料:水池蓝池底漆采用不饱和羧酸聚合物。测试显示其耐氯性能比常规材料提升50%以上。这种技术突破为游泳池漆哪个牌子好一点提供了新答案。水池蓝是海…

游泳池漆选材难题?信赖水池蓝,长期耐水泳池涂料开启安心玩水模式(游泳池漆用什么漆)

蓝天白云:专为垂耳兔设计的天然粮仓(蓝天白云合集)

为什么越来越多的垂耳兔主人选择蓝天白云宠物粮食?其独特的配方和营养价值是否真如广告所说?本文深入剖析这款针对幼兔和成兔的高纤美毛益生菌专用粮,揭开背后的科学秘密,帮助您为爱宠挑选最合适的食物。

蓝天白云:专为垂耳兔设计的天然粮仓(蓝天白云合集)

鸡蛋清敷脸有什么好处能去痘痘吗(鸡蛋清敷脸有什么好处的作用与功效)

蛋清作为一种常见的食材,除了食用,也被广泛用于美容护肤。其独特的性质让它成为了许多人护肤程序中的自然选择。鸡蛋清敷脸能带来多方面的好处: 首先,对于油性皮肤或易长痘的人来说,蛋清可以帮助控制脸部油脂分泌,从而减少痘痘的生成

鸡蛋清敷脸有什么好处能去痘痘吗(鸡蛋清敷脸有什么好处的作用与功效)

不想卷临床?蒙纳士大学基因组分析专业,高薪潜力股!

2025年12月31日前,通过蒙纳士大学授权代理艾迪留学递交申请,可减免150澳币申请费如果您对生命科学大数据充满热情,这个专业将是您通往未来热门职业的黄金跳板! 欢迎随时DD,获取更详细的课程手册和申请要…

不想卷临床?蒙纳士大学基因组分析专业,高薪潜力股!