(图片来源于SpreadJS)
工作表级别的数据绑定即将数据与当前工作表建立映射关系,相关的代码实现可以前往葡萄城官网,参考学习指南-工作表绑定,这里列出一些核心的代码:
let designer = new GC.Spread.Sheets.Designer.Designer("designer-container")
// 获取designer关联的Spread对象
let spread = designer.getWorkbook()
// 获取当前活动的sheet
let sheet = spread.getActiveSheet()
// 模拟绑定数据,表单绑定数据源是一个json数组
function generateData(count){
let data = []
for(let i=0; i<count;i ){
let item = {}
item.id = i
item.name = `姓名${i}`
item.age = Math.ceil(Math.random()*10 10)
item.weight = Math.round(Math.random()*30 20)
data.push(item)
}
return data
}
let data = generateData(100)
// 设置当前工作表的数据源
sheet.setDataSource(data)
执行完成绑定逻辑之后,工作表展示如下:
(图片来源于SpreadJS)
接下来我们可以在工作表中进行一些删除行,新增行,修改数据的操作,操作完成之后,调用获取绑定数据的API,即可获取当前修改之后的绑定数据:
(图片来源于SpreadJS)
(2)单元格绑定
单元格绑定见名思义,即将单元格与某一个字段key建立映射,用户填写的数据可以反应在这个key值对应的value中,单元格绑定代码的实现方式可以参考学习指南-单元格绑定。
(图片来源于SpreadJS)
通过简单的拖动,即可完成key值与单元格之间的映射建立,接下来,就可以构造一些默认数据,设置默认的绑定数据。绑定完成之后,可以修改绑定数据,修改完成之后,通过SpreadJS数据绑定获取数据源的API,即可拿到修改之后的数值。这里其实就是一个填报场景的体现,例如,当前需要收集人员信息表,每一位员工在填写完成之后,点击提交时,就可以拿到员工信息的一个json数据,之后前端就可以将这些数据发送给服务端,让服务端去做存储了。