Winny 发表于 2022-7-3 01:02:22

表格某列数据自增实现

本帖最后由 Winny 于 2022-8-19 15:04 编辑

在客户使用表格(Table)实现常见的增删改查操作时,有一列需要用来展示当前记录的序号,但序号可能不等于记录的ID,如果让客户再额外去维护一个字段必然会造成存储上的浪费.
针对这一需求,我们可以想象一下,如果换成excel上的UI操作,肯定是直接按序列拖拽填充更加简单.那搬到代码中也是一样的.其实很多需求,我们如果实在无从下手,都可以想象我们自己要做这件事情时,常用的步骤是什么,将这些步骤转变成代码即可.
表格在做增删操作的时候,我们需要去监听行的变化,然后执行自动填充就可实现我们的需求,核心代码如下:
// 监听表格行变化
sheet.bind(GC.Spread.Sheets.Events.TableRowsChanged,function(e,data){
    fillTableCol(table)
})

function fillTableCol(table){
    let {row,col,rowCount,colCount} = table.dataRange()
    sheet.setValue(row,col,1)
    sheet.fillAuto(new GC.Spread.Sheets.Range(row, col, rowCount, 1),{
      fillType:GC.Spread.Sheets.Fill.FillType.linear,
      series:GC.Spread.Sheets.Fill.FillSeries.column,
      direction:GC.Spread.Sheets.Fill.FillDirection.down,
    })
}

详细的实现代码及显示效果可点击这里了解.
页: [1]
查看完整版本: 表格某列数据自增实现