Typing. 发表于 2024-12-16 09:33:21

使用setDataSource 绑定数据源怎么设置下拉框和复选框

本帖最后由 Typing. 于 2024-12-16 09:34 编辑


var colInfos = [
      { name: "_a", displayName: "序号", width: 150 },
      { name: "_b", displayName: "合同号", width: 200 },
      { name: "_c", displayName: "订单等级", width: 200 },
      { name: "_d", displayName: "品名", width: 200 },
      { name: "_e", displayName: "尺寸", width: 200 },
      { name: "_f", displayName: "罗口要求", width: 250 },
      { name: "_g", displayName: "橡筋", width: 150 },
      { name: "_h", displayName: "订单数量", width: 150 },
      { name: "_i", displayName: "计划排产量", width: 150 },
      { name: "_j", displayName: "半成品库存", width: 150 },
      { name: "_k", displayName: "成品库存", width: 150 },
      { name: "_l", displayName: "预入仓库", width: 150 },
      { name: "_m", displayName: "计划余量", width: 150 },
      { name: "_n", displayName: "订单交期", width: 250 },
      { name: "_o", displayName: "手芯交期", width: 150 },
      { name: "_p", displayName: "辅材交期", width: 150 },
      // { name: "_q", displayName: "生产线", width: 250 },

      { name: "_r", displayName: "计划开始", width: 250 },
      { name: "_s", displayName: "计划结束", width: 150 },
      { name: "_t", displayName: "根线", width: 150 },
      { name: "_u", displayName: "线印", width: 200 },
      { name: "_v", displayName: "合掌", width: 150 },
      { name: "_w", displayName: "浸胶颜色", width: 150 },
      { name: "_x", displayName: "备注", width: 150 },
      { name: "_y", displayName: "合计", width: 150 },
      { name: "_z", displayName: "1号", width: 150 },
      { name: "_aa", displayName: "2号", width: 200 },
      { name: "_ab", displayName: "3号", width: 150 },
      { name: "_ac", displayName: "4号", width: 150 },
      { name: "_ad", displayName: "5号", width: 150 },
      { name: "_ae", displayName: "6号", width: 150 },
      { name: "_af", displayName: "7号", width: 150 },
      { name: "_ag", displayName: "8号", width: 150 },
      { name: "_ah", displayName: "9号", width: 150 },
      { name: "_ai", displayName: "10号", width: 150 },
      { name: "_aj", displayName: "11号", width: 150 },
      { name: "_ak", displayName: "12号", width: 150 },
      { name: "_al", displayName: "13号", width: 150 },
      { name: "_am", displayName: "14号", width: 150 },
      { name: "_an", displayName: "15号", width: 150 },
      { name: "_ao", displayName: "16号", width: 150 },
      { name: "_ap", displayName: "17号", width: 150 },
      { name: "_aq", displayName: "18号", width: 150 },
      { name: "_ar", displayName: "19号", width: 150 },
      { name: "_as", displayName: "20号", width: 150 },
      { name: "_at", displayName: "21号", width: 150 },
      { name: "_au", displayName: "22号", width: 150 },
      { name: "_av", displayName: "23号", width: 150 },
      { name: "_aw", displayName: "24号", width: 150 },
      { name: "_ax", displayName: "25号", width: 150 },
      { name: "_ay", displayName: "26号", width: 150 },
      { name: "_az", displayName: "27号", width: 150 },
      { name: "_ba", displayName: "28号", width: 150 },
      { name: "_bb", displayName: "29号", width: 150 },
      { name: "_bc", displayName: "30号", width: 150 },
      { name: "_bd", displayName: "31号", width: 150 },
      
      ];

sheet.setDataSource([
      {
      productLineName:'',
      _a:'111'
      },
      {
      productLineName:'',
      _a:'111'
      },
      {
      productLineName:'',
      _a:'111'
      },
      {
      productLineName:'',
      _a:'111'
      },
      {
      productLineName:'',
      _a:'111'
      },
      {
      productLineName:'',
      _a:'111'
      }
    ]);

sheet.autoGenerateColumns =false
      //然后
      sheet.bindColumns(colInfos);
给生产线设置下拉,选中需要显示显示值,把实际值传到另一个字段,根线 需要设置复选框

Wilson.Zhang 发表于 2024-12-16 13:55:32

您好!您可以先在对应单元格设置下拉框和复选框,之后再绑定数据,绑定机制能够自动映射到下拉列表和复选框的选项。

Typing. 发表于 2024-12-16 14:02:08

Wilson.Zhang 发表于 2024-12-16 13:55
您好!您可以先在对应单元格设置下拉框和复选框,之后再绑定数据,绑定机制能够自动映射到下拉列表和复选框 ...

我是这样设置的,但是选中就显示实际值了//设置单选
      this.moreSelect(sheet, 1, 3)
moreSelect(sheet, lieQty, hangQty){
      const list=[
      {
      value:'1',
      text:'生产线1'
      },
      {
      value:'2',
      text:'生产线2'
      },
      {
      value:'3',
      text:'生产线3'
      },
    ]
    var style = new GC.Spread.Sheets.Style();
    style.cellButtons = [
      {
          imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
          command: "openList",
          useButtonStyle: true,
      }
      ];
      style.dropDowns = [
      {
          type: GC.Spread.Sheets.DropDownType.list,
          option: {
            items: list,
          }
      }
      ];
      for (let index = 1; index <= hangQty; index++) {
      sheet.setStyle(index, lieQty, style);
      
      }

    },

Wilson.Zhang 发表于 2024-12-16 15:52:34

Typing. 发表于 2024-12-16 14:02
我是这样设置的,但是选中就显示实际值了

我使用您提供的代码片段,在最新17.1.10版本测试,可以正常绑定数据。

如下动图所示,在单元格D2~D4设置了三个下拉列表,通过表单级别数据绑定在D列设置了下拉列表中选项的value,成功设置选项且下拉列表中默认选项为被设置的选项。

Typing. 发表于 2024-12-16 16:36:23

Wilson.Zhang 发表于 2024-12-16 15:52
我使用您提供的代码片段,在最新17.1.10版本测试,可以正常绑定数据。

如下动图所示,在单元格D2~D4设 ...

选中显示值是实际值

Wilson.Zhang 发表于 2024-12-16 17:46:50

Typing. 发表于 2024-12-16 16:36
选中显示值是实际值

您在代码中使用的下拉列表的是Style的dropdown,这里下拉菜单选项的显示值为text属性值,实际值为value值。您可以根据需要设置text和value属性值。

如果您希望填到单元格中的内容和列表中陈列的选项内容一致,可以使用ComboBox单元格类型。
页: [1]
查看完整版本: 使用setDataSource 绑定数据源怎么设置下拉框和复选框