爱迪生 发表于 2022-3-3 13:51:35

SpreadJS数据绑定(表格绑定),表列值转换与修改

本帖最后由 爱迪生 于 2022-3-3 13:54 编辑

在实际项目中,我们经常会遇到将数据库中的某些字段的值在SpreadJS报表中展示时,进行转换,方便业务人员查看,我们使用tableColumn的value对列表值进行转换,代码如下:
var tableColumn2 = new spreadNS.Tables.TableColumn();
            tableColumn2.name("QUANTITY");
            tableColumn2.value(val=>{
                  return val.quantity ===1?"是":"否"
                })数据源如下:

SpreadJS显示如下:

但是,当我们去修改经过转换后的数据,并且想将转换后的"是"和"否"转换为"1"和"0",发现是不支持修改的,这时,我们用另外一个解决方法:
var tableColumn2 = new spreadNS.Tables.TableColumn();
            tableColumn2.name("QUANTITY");
            var combo = new spreadNS.CellTypes.ComboBox();
            combo.items([{ text: "否", value: 0 }, { text: "是", value: 1 }, ])
            .editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
            tableColumn2.cellType(combo);
我们看一下页面效果:

我们修改完数据,看数据源中有没有改为对应的“0”或“1”

完美解决!!!
详细代码,参考附件
页: [1]
查看完整版本: SpreadJS数据绑定(表格绑定),表列值转换与修改