找回密码
 立即注册

QQ登录

只需一步,快速开始

爱迪生

超级版主

55

主题

65

帖子

1390

积分

超级版主

Rank: 8Rank: 8

积分
1390
爱迪生
超级版主   /  发表于:2022-3-3 13:51  /   查看:1960  /  回复:0
本帖最后由 爱迪生 于 2022-3-3 13:54 编辑

在实际项目中,我们经常会遇到将数据库中的某些字段的值在SpreadJS报表中展示时,进行转换,方便业务人员查看,我们使用tableColumn的value对列表值进行转换,代码如下:
  1. var tableColumn2 = new spreadNS.Tables.TableColumn();
  2.             tableColumn2.name("QUANTITY");
  3.             tableColumn2.value(val=>{
  4.                     return val.quantity ===1?"是":"否"
  5.                 })
复制代码
数据源如下:
image.png587933044.png
SpreadJS显示如下:
image.png635034179.png
但是,当我们去修改经过转换后的数据,并且想将转换后的"是"和"否"转换为"1"和"0",发现是不支持修改的,这时,我们用另外一个解决方法:
  1. var tableColumn2 = new spreadNS.Tables.TableColumn();
  2.             tableColumn2.name("QUANTITY");
  3.             var combo = new spreadNS.CellTypes.ComboBox();
  4.             combo.items([{ text: "否", value: 0 }, { text: "是", value: 1 }, ])
  5.             .editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
  6.             tableColumn2.cellType(combo);
复制代码
我们看一下页面效果:
image.png262333983.png
我们修改完数据,看数据源中有没有改为对应的“0”或“1”
image.png981238098.png
完美解决!!!
详细代码,参考附件

features_data-binding_table-binding_JavaScript 3.zip

5.76 KB, 下载次数: 85

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部