没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:陈津勇|2019-09-24 10:15:35.443|阅读 913 次
概述:本文主要介绍纯前端表格控件SpreadJS数据绑定的原理、方式。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
SpreadJS作为一个纯前端类Excel表格控件,有着和Excel高度类似的功能,但同时也有很多Excel所不具备的独有功能。其中,数据绑定就是SpreadJS最常用的功能之一。
本系列教程介绍SpreadJS数据绑定的相关内容,分两部分讲解:
(一)SpreadJS数据绑定介绍
(二)SpreadJS表单绑定操作
下面,我们将详细为您介绍SpreadJS数据绑定的原理、实现方式、操作以及扩展应用。(有关“SpreadJS表单绑定操作”的内容,请点击此处前往查看>>>)
SpreadJS数据绑定的原理
SpreadJS是一个纯前端控件,本身不包含任何后端结构,所以无法直接完成数据库绑定。SpreadJS本身绑定的数据源是用户传递到前端的一个json格式的DataSource,后端的业务逻辑用户可以自行去处理。
这样做的好处是低耦合、前后端分离,服务器端专门处理业务逻辑,前端只负责页面展示功能,无论安全性还是规范性都更符合常见的开发习惯。
在SpreadJS的数据绑定过程中,无论是通过设计器还是代码,都需要在SpreadJS中建立与数据源DataSource一一映射的关系。
SpreadJS数据绑定是以工作表(Sheet)为单位的绑定,一个sheet只能绑定一个数据源,但多个sheet可以绑定同一个数据源。
当设置好映射关系之后,我们将前端接收到的数据源通过对应的接口进行填充,之后SpreadJS会根据映射关系自动的将相关联的数据展示到对应的位置。
SpreadJS数据绑定本身是一个双向绑定,顾名思义,就是当用户更新了视图的内容 (绑定项在页面上面的相关单元格内容)之后,数据源也会同步发生变化。利用这样的机制,我们可以更方便的获取用户在页面上更新的数据。
在线填报,作为SpreadJS的典型使用场景之一,便很好的利用了SpreadJS的数据绑定模式,我们通过双向绑定实时获取用户填报的数据,并将其进行存储。
SpreadJS数据绑定的方式
SpreadJS提供三种数据绑定的方式:表单绑定、单元格绑定、表格绑定。
单元格绑定
从字面上意思来看,单元格绑定就是通过一个单元格绑定数据源中的某个字段。这种方式在一些填报单据中比较常见。
表单绑定和表格绑定
表单绑定与表格绑定从字面上很容易混淆,他们之间的区别分为以下几个方面:
1、 绑定区域:表单绑定区域指的是Excel中的Sheet,也就是工作表:
表单绑定就是将数据源绑定在整个表单上,表单绑定数据源的行数决定了该sheet绑定完成之后初始的行数,sheet每新增一行或者减少一行都会造成数据源的变化。
表格绑定区域指的是Sheet中创建的table:
表格绑定会将数据源绑定在Sheet创建的table中,数据源的行数决定了绑定完成后table的初始行数,而只有table行数的变更才会造成数据源的变化并不是整个sheet。
2、 数据源格式:
文章前面提到,数据绑定中一个Sheet只能绑定一个数据源,所以表单绑定数据源的每一个字段都对应了表单的某一列。所以数据源是一个JSON数组,类似下面这样:
var dataSource = [ { ID:0, Name:'A', Info1:'Info0' }, { ID:1, Name:'B', Info1:'Info1' }, { ID:2, Name:'C', Info1:'Info2' }, ];
表格绑定,因为一个sheet中可以存在多个table,每一个table都可以绑定数据源中的一个字段,所以它对应的数据源是一个JSON对象,而对象的每一个字段将是一个JSON数组,每一个字段对应绑定一个table,类似下面这样:
var dataSource = { table1: [ { orderDate: '1/6/2013', item: 'Pencil', units: 95, cost: 1.99 }, { orderDate: '4/1/2013', item: 'Binder', units: 60, cost: 4.99 }, { orderDate: '6/8/2013', item: 'Pen Set', units: 16, cost: 15.99 } ], table2: [ { orderDate: '1/6/2013', item: 'Pencil', units: 95, cost: 1.99 }, { orderDate: '4/1/2013', item: 'Binder', units: 60, cost: 4.99 }, { orderDate: '6/8/2013', item: 'Pen Set', units: 16, cost: 15.99 } ] };
以上就是SpreadJS数据绑定的原理,以及三种绑定方式。(有关“SpreadJS表单绑定操作”的内容,请点击此处前往查看>>>)
想要获得 SpreadJS 更多资源或正版授权的伙伴,
扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
无论是零售、物流还是医疗保健,旋转条形码图像的功能都能增强不同应用的灵活性和适应性。使用Aspose.BarCode for Java,您可以轻松旋转条形码图像,确保它们无缝融入应用程序的设计和布局。
借助Aspose.Slides for Java,开发人员可以轻松编辑 PowerPoint 幻灯片(包括表格),以增强演示文稿的效果。
VMProtect 是保护程序代码免遭分析与破解的利器,但很多开发者在实现注册机制时犯了关键性错误,使得再强大的加壳工具也难以阻挡黑客破解。本文将从注册逻辑设计、密钥验证方式、注册状态存储等多个角度,系统拆解常见误区,并结合 VMProtect 的虚拟化和加密策略,提供构建高强度注册保护的实战方案。
在本文中,我们将探讨如何在FastReport .NET中配置与 Apache Ignite 的连接。您将学习通过代码和报表设计器连接插件的必要步骤。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢