SpreadJS根据选中单元格获取数据绑定字段
需求背景:客户在点击单元格时,需要同时获取值和绑定字段,方便入库。
对于普通的单元格绑定,可以采取直接调用getBindingPath()即可。但是对于表格绑定,需要绑定字段存在于Table的列信息上。需要定位到当前点击单元格是否属于表格,并获取到激活单元格处于表格的第几列。
实现方案:
实现该需求,我们用到的主要API有以下三个:
(1)根据单元格获取表格实例;
(2)获取表格区域;
(2)获取表列绑定字段table.getColumnDataFiels(colIndex);
接下来最主要的一步,就是获取当前激活单元格处于表格第几列了,这里其实只需要做一个简单的减法操作,用激活单元格列索引减去表格起始列索引即可。
详细的示例代码如下:
function getTableColumnDataField(sheet,activeRow,activeCol){
let table = sheet.tables.find(activeRow,activeCol)
if(table){
let range = table.range()
let {col} = range
let tableColIndex = activeCol-col
alert(table.getColumnDataField(tableColIndex))
}else{
alert("当前单元格不在Table中")
}
}
在线体验可以点击这里,跳转查看详细代码。
页:
[1]