找回密码
 立即注册

QQ登录

只需一步,快速开始

Prin

注册会员

6

主题

34

帖子

98

积分

注册会员

积分
98
Prin
注册会员   /  发表于:2022-11-5 10:54  /   查看:4688  /  回复:11
RT

11 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-8 09:44:09
推荐
暂时还没有计划,你这个可以作为需求记录,帖子我先移动到需求板块去
回复 使用道具 举报
有点东西悬赏达人认证
初级会员   /  发表于:2022-11-6 10:18:32
沙发
可以用增量加载,在loaded的回调中找到对应table所需设置的区域,然后通过下面的代码设置combocox。
var combo = new GC.Spread.Sheets.CellTypes.ComboBox();sheet.setCellType(3, 2, combo, GC.Spread.Sheets.SheetArea.viewport);

这是增量加载的地址
https://demo.grapecity.com.cn/sp ... l-loading#timestamp







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Prin
注册会员   /  发表于:2022-11-6 10:52:38
板凳
  1. var combo = new spreadNS.CellTypes.ComboBox();
  2. combo
  3.         .items([
  4.                 { text: "Oranges", value: "11k" },
  5.                 { text: "Apples", value: "15k" },
  6.                 { text: "Grape", value: "100k" },
  7.         ])
  8.         .editorValueType(spreadNS.CellTypes.EditorValueType.text);

  9. var tableColumn5 = new spreadNS.Tables.TableColumn(
  10.         5,
  11.         "isDelivered",
  12.         "Delivered",
  13.         null,
  14.         combo
  15. );
  16. table.autoGenerateColumns(false);
  17. table.bind(
  18.         [
  19.                 tableColumn1,
  20.                 tableColumn2,
  21.                 tableColumn3,
  22.                 tableColumn4,
  23.                 tableColumn5,
  24.         ],
  25.         "sales",
  26.         data
  27. );
复制代码


新建表格的时候给列设置格式,我在官网看到过例子。
现在问题是加载ssjson以后,我好像没法通过api改变表格某一列的格式。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-7 14:31:02
地板
本帖最后由 Richard.Ma 于 2022-11-7 14:33 编辑

我看到你上面的代码中还有做数据绑定,可以发一个重现问题的demo上来,我帮你看一下原因
回复 使用道具 举报
Prin
注册会员   /  发表于:2022-11-7 16:02:25
5#
Richard.Ma 发表于 2022-11-7 14:31
我看到你上面的代码中还有做数据绑定,可以发一个重现问题的demo上来,我帮你看一下原因
  1. {
  2.         "version": "15.1.1",
  3.         "sheetCount": 1,
  4.         "customList": [],
  5.         "sheets": {
  6.                 "Sheet1": {
  7.                         "name": "Sheet1",
  8.                         "isSelected": true,
  9.                         "activeRow": 5,
  10.                         "activeCol": 7,
  11.                         "visible": 1,
  12.                         "frozenTrailingRowStickToEdge": true,
  13.                         "frozenTrailingColumnStickToEdge": true,
  14.                         "theme": "Office",
  15.                         "data": {
  16.                                 "dataTable": { "5": { "1": { "value": "合计:" } } },
  17.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  18.                         },
  19.                         "rowHeaderData": {
  20.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  21.                         },
  22.                         "colHeaderData": {
  23.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  24.                         },
  25.                         "leftCellIndex": 0,
  26.                         "topCellIndex": 0,
  27.                         "selections": {
  28.                                 "0": { "row": 5, "rowCount": 1, "col": 7, "colCount": 1 },
  29.                                 "length": 1
  30.                         },
  31.                         "rowOutlines": { "items": [] },
  32.                         "columnOutlines": { "items": [] },
  33.                         "cellStates": {},
  34.                         "states": {},
  35.                         "outlineColumnOptions": {},
  36.                         "autoMergeRangeInfos": [],
  37.                         "tables": [
  38.                                 {
  39.                                         "name": "Tab_1",
  40.                                         "row": 1,
  41.                                         "col": 1,
  42.                                         "rowCount": 5,
  43.                                         "colCount": 6,
  44.                                         "showFooter": true,
  45.                                         "expandBoundRows": true,
  46.                                         "style": {
  47.                                                 "wholeTableStyle": {
  48.                                                         "backColor": "white",
  49.                                                         "foreColor": "black",
  50.                                                         "font": "10pt arial",
  51.                                                         "borderLeft": { "style": 1 },
  52.                                                         "borderTop": { "style": 1 },
  53.                                                         "borderRight": { "style": 1 },
  54.                                                         "borderBottom": { "style": 1 },
  55.                                                         "borderHorizontal": { "style": 1 },
  56.                                                         "borderVertical": { "style": 1 }
  57.                                                 }
  58.                                         },
  59.                                         "autoGenerateColumns": false,
  60.                                         "bindingPath": "table1",
  61.                                         "rowFilter": {
  62.                                                 "range": { "row": 2, "rowCount": 3, "col": 1, "colCount": 6 },
  63.                                                 "typeName": "HideRowFilter",
  64.                                                 "dialogVisibleInfo": {},
  65.                                                 "filterButtonVisibleInfo": {
  66.                                                         "0": true,
  67.                                                         "1": true,
  68.                                                         "2": true,
  69.                                                         "3": true,
  70.                                                         "4": true,
  71.                                                         "5": true
  72.                                                 },
  73.                                                 "showFilterButton": true,
  74.                                                 "filteredOutRows": [],
  75.                                                 "tableName": "Tab_1"
  76.                                         },
  77.                                         "columns": [
  78.                                                 {
  79.                                                         "id": 1,
  80.                                                         "name": "列1",
  81.                                                         "dataField": "col1",
  82.                                                         "footerValue": "合计:"
  83.                                                 },
  84.                                                 { "id": 2, "name": "列2", "dataField": "col2" },
  85.                                                 { "id": 3, "name": "列3", "dataField": "col3" },
  86.                                                 { "id": 4, "name": "列4", "dataField": "col4" },
  87.                                                 { "id": 5, "name": "列5", "dataField": "col5" },
  88.                                                 { "id": 6, "name": "列6", "dataField": "col6" }
  89.                                         ]
  90.                                 }
  91.                         ],
  92.                         "index": 0
  93.                 }
  94.         },
  95.         "sheetTabCount": 0
  96. }
复制代码


比如我生成了如上的ssjson,我想在加载这个ssjson后,用代码将‘列1’变为combobox,该如何实现呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-7 17:24:59
6#
如果是要设置单元格类型的话,可以按照table的区域来设置就行,比如你说的第一列,
  1. sheet.getRange(table.startRow()+1,table.startColumn(),table.endRow()-1,1).cellType(new GC.Spread.Sheets.CellTypes.ComboBox());
复制代码

回复 使用道具 举报
Prin
注册会员   /  发表于:2022-11-7 17:56:14
7#
Richard.Ma 发表于 2022-11-7 17:24
如果是要设置单元格类型的话,可以按照table的区域来设置就行,比如你说的第一列,
  1. {
  2.         "version": "15.1.1",
  3.         "sheetCount": 1,
  4.         "customList": [],
  5.         "sheets": {
  6.                 "Sheet1": {
  7.                         "name": "Sheet1",
  8.                         "isSelected": true,
  9.                         "activeRow": 4,
  10.                         "activeCol": 1,
  11.                         "visible": 1,
  12.                         "frozenTrailingRowStickToEdge": true,
  13.                         "frozenTrailingColumnStickToEdge": true,
  14.                         "theme": "Office",
  15.                         "data": {
  16.                                 "dataTable": {
  17.                                         "5": {
  18.                                                 "1": {
  19.                                                         "style": {
  20.                                                                 "cellType": {
  21.                                                                         "typeName": "7",
  22.                                                                         "items": [
  23.                                                                                 { "text": "Oranges", "value": "A01" },
  24.                                                                                 { "text": "Apples", "value": "A02" },
  25.                                                                                 { "text": "Grape", "value": "A03" }
  26.                                                                         ]
  27.                                                                 }
  28.                                                         }
  29.                                                 }
  30.                                         },
  31.                                         "6": {
  32.                                                 "1": {
  33.                                                         "style": {
  34.                                                                 "cellType": {
  35.                                                                         "typeName": "7",
  36.                                                                         "items": [
  37.                                                                                 { "text": "Oranges", "value": "A01" },
  38.                                                                                 { "text": "Apples", "value": "A02" },
  39.                                                                                 { "text": "Grape", "value": "A03" }
  40.                                                                         ]
  41.                                                                 }
  42.                                                         }
  43.                                                 }
  44.                                         },
  45.                                         "7": {
  46.                                                 "1": {
  47.                                                         "style": {
  48.                                                                 "cellType": {
  49.                                                                         "typeName": "7",
  50.                                                                         "items": [
  51.                                                                                 { "text": "Oranges", "value": "A01" },
  52.                                                                                 { "text": "Apples", "value": "A02" },
  53.                                                                                 { "text": "Grape", "value": "A03" }
  54.                                                                         ]
  55.                                                                 }
  56.                                                         }
  57.                                                 }
  58.                                         },
  59.                                         "8": {
  60.                                                 "1": {
  61.                                                         "value": "合计:",
  62.                                                         "style": {
  63.                                                                 "cellType": {
  64.                                                                         "typeName": "7",
  65.                                                                         "items": [
  66.                                                                                 { "text": "Oranges", "value": "A01" },
  67.                                                                                 { "text": "Apples", "value": "A02" },
  68.                                                                                 { "text": "Grape", "value": "A03" }
  69.                                                                         ]
  70.                                                                 }
  71.                                                         }
  72.                                                 }
  73.                                         },
  74.                                         "9": {
  75.                                                 "1": {
  76.                                                         "style": {
  77.                                                                 "cellType": {
  78.                                                                         "typeName": "7",
  79.                                                                         "items": [
  80.                                                                                 { "text": "Oranges", "value": "A01" },
  81.                                                                                 { "text": "Apples", "value": "A02" },
  82.                                                                                 { "text": "Grape", "value": "A03" }
  83.                                                                         ]
  84.                                                                 }
  85.                                                         }
  86.                                                 }
  87.                                         },
  88.                                         "10": {
  89.                                                 "1": {
  90.                                                         "style": {
  91.                                                                 "cellType": {
  92.                                                                         "typeName": "7",
  93.                                                                         "items": [
  94.                                                                                 { "text": "Oranges", "value": "A01" },
  95.                                                                                 { "text": "Apples", "value": "A02" },
  96.                                                                                 { "text": "Grape", "value": "A03" }
  97.                                                                         ]
  98.                                                                 }
  99.                                                         }
  100.                                                 }
  101.                                         },
  102.                                         "11": {
  103.                                                 "1": {
  104.                                                         "style": {
  105.                                                                 "cellType": {
  106.                                                                         "typeName": "7",
  107.                                                                         "items": [
  108.                                                                                 { "text": "Oranges", "value": "A01" },
  109.                                                                                 { "text": "Apples", "value": "A02" },
  110.                                                                                 { "text": "Grape", "value": "A03" }
  111.                                                                         ]
  112.                                                                 }
  113.                                                         }
  114.                                                 }
  115.                                         }
  116.                                 },
  117.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  118.                         },
  119.                         "rowHeaderData": {
  120.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  121.                         },
  122.                         "colHeaderData": {
  123.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  124.                         },
  125.                         "leftCellIndex": 0,
  126.                         "topCellIndex": 0,
  127.                         "selections": {
  128.                                 "0": { "row": 4, "rowCount": 1, "col": 1, "colCount": 1 },
  129.                                 "length": 1
  130.                         },
  131.                         "rowOutlines": { "items": [] },
  132.                         "columnOutlines": { "items": [] },
  133.                         "cellStates": {},
  134.                         "states": {},
  135.                         "outlineColumnOptions": {},
  136.                         "autoMergeRangeInfos": [],
  137.                         "tables": [
  138.                                 {
  139.                                         "name": "Tab_1",
  140.                                         "row": 4,
  141.                                         "col": 1,
  142.                                         "rowCount": 5,
  143.                                         "colCount": 4,
  144.                                         "showFooter": true,
  145.                                         "expandBoundRows": true,
  146.                                         "style": {
  147.                                                 "wholeTableStyle": {
  148.                                                         "backColor": "white",
  149.                                                         "foreColor": "black",
  150.                                                         "font": "10pt arial",
  151.                                                         "borderLeft": { "style": 1 },
  152.                                                         "borderTop": { "style": 1 },
  153.                                                         "borderRight": { "style": 1 },
  154.                                                         "borderBottom": { "style": 1 },
  155.                                                         "borderHorizontal": { "style": 1 },
  156.                                                         "borderVertical": { "style": 1 }
  157.                                                 }
  158.                                         },
  159.                                         "autoGenerateColumns": false,
  160.                                         "bindingPath": "table1",
  161.                                         "rowFilter": {
  162.                                                 "range": { "row": 5, "rowCount": 3, "col": 1, "colCount": 4 },
  163.                                                 "typeName": "HideRowFilter",
  164.                                                 "dialogVisibleInfo": {},
  165.                                                 "filterButtonVisibleInfo": {
  166.                                                         "0": true,
  167.                                                         "1": true,
  168.                                                         "2": true,
  169.                                                         "3": true
  170.                                                 },
  171.                                                 "showFilterButton": true,
  172.                                                 "filteredOutRows": [],
  173.                                                 "tableName": "Tab_1"
  174.                                         },
  175.                                         "columns": [
  176.                                                 { "id": 1, "name": "Column1", "footerValue": "合计:" },
  177.                                                 { "id": 2, "name": "Column2" },
  178.                                                 { "id": 3, "name": "Column3" },
  179.                                                 { "id": 4, "name": "Column4" }
  180.                                         ]
  181.                                 }
  182.                         ],
  183.                         "index": 0
  184.                 }
  185.         },
  186.         "sheetTabCount": 0
  187. }
复制代码


代码执行后,只是给单元格设置为下拉框,并没有给table列设为combobox格式
回复 使用道具 举报
Prin
注册会员   /  发表于:2022-11-7 18:01:57
8#
Richard.Ma 发表于 2022-11-7 17:24
如果是要设置单元格类型的话,可以按照table的区域来设置就行,比如你说的第一列,
  1. {
  2.         "version": "15.1.1",
  3.         "sheetCount": 1,
  4.         "customList": [],
  5.         "sheets": {
  6.                 "Sheet1": {
  7.                         "name": "Sheet1",
  8.                         "isSelected": true,
  9.                         "visible": 1,
  10.                         "frozenTrailingRowStickToEdge": true,
  11.                         "frozenTrailingColumnStickToEdge": true,
  12.                         "theme": "Office",
  13.                         "data": {
  14.                                 "dataTable": {},
  15.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  16.                         },
  17.                         "rowHeaderData": {
  18.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  19.                         },
  20.                         "colHeaderData": {
  21.                                 "defaultDataNode": { "style": { "themeFont": "Body" } }
  22.                         },
  23.                         "leftCellIndex": 0,
  24.                         "topCellIndex": 0,
  25.                         "selections": {
  26.                                 "0": { "row": 0, "rowCount": 1, "col": 0, "colCount": 1 },
  27.                                 "length": 1
  28.                         },
  29.                         "rowOutlines": { "items": [] },
  30.                         "columnOutlines": { "items": [] },
  31.                         "cellStates": {},
  32.                         "states": {},
  33.                         "outlineColumnOptions": {},
  34.                         "autoMergeRangeInfos": [],
  35.                         "tables": [
  36.                                 {
  37.                                         "name": "tableSales",
  38.                                         "row": 0,
  39.                                         "col": 0,
  40.                                         "rowCount": 2,
  41.                                         "colCount": 1,
  42.                                         "style": { "buildInName": "Medium4" },
  43.                                         "autoGenerateColumns": false,
  44.                                         "bindingPath": "sales",
  45.                                         "rowFilter": {
  46.                                                 "range": { "row": 1, "rowCount": 1, "col": 0, "colCount": 1 },
  47.                                                 "typeName": "HideRowFilter",
  48.                                                 "dialogVisibleInfo": {},
  49.                                                 "filterButtonVisibleInfo": { "0": true },
  50.                                                 "showFilterButton": true,
  51.                                                 "filteredOutRows": [],
  52.                                                 "tableName": "tableSales"
  53.                                         },
  54.                                         "columns": [
  55.                                                 {
  56.                                                         "id": 5,
  57.                                                         "name": "Delivered",
  58.                                                         "cellType": {
  59.                                                                 "typeName": "7",
  60.                                                                 "items": [
  61.                                                                         { "text": "Oranges", "value": "11k" },
  62.                                                                         { "text": "Apples", "value": "15k" },
  63.                                                                         { "text": "Grape", "value": "100k" }
  64.                                                                 ]
  65.                                                         },
  66.                                                         "dataField": "isDelivered"
  67.                                                 }
  68.                                         ]
  69.                                 }
  70.                         ],
  71.                         "index": 0
  72.                 }
  73.         },
  74.         "sheetTabCount": 0
  75. }
复制代码


我想实现类似这种列绑定
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-7 18:53:48
9#
目前没法获取到table中绑定的columns信息,所以只能是你再第一次设置绑定列的时候,将列的属性保存起来,然后后面重新绑定的时候在去拿到这个信息来做绑定(包括定义的单元格类型)
回复 使用道具 举报
Prin
注册会员   /  发表于:2022-11-7 19:27:52
10#
Richard.Ma 发表于 2022-11-7 18:53
目前没法获取到table中绑定的columns信息,所以只能是你再第一次设置绑定列的时候,将列的属性保存起来,然 ...

嗯嗯,了解,这个在后续版本会做支持么?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部