1金币
重现步骤:
1. 打开官网示例 https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
2. 导入excel文件,见附件
3. 执行以下代码转换为数据源
- (function() {
- const spread = GC.Spread.Sheets.findControl(document.getElementsByClassName('ss'));
- const sheet = spread.getActiveSheet();
- const rowCount = sheet.getRowCount();
- const templateDefine = {
- // 运价
- dataRowStartIndex: 2,
- columns: [
- 'svc',
- 'trade',
- 'feederPol',
- 'pol',
- 'pod',
- 'carrier',
- 'bookingAgent',
- 'accountUnit',
- 'f_20gpCost',
- 'f_40gpCost',
- 'f_40hcCost',
- 'f_45hcCost',
- 'f_20norCost',
- 'f_40norCost',
- 'f_20gpHandlingFeeCarrier',
- 'f_40gpHandlingFeeCarrier',
- 'f_40hcHandlingFeeCarrier',
- 'f_45hcHandlingFeeCarrier',
- 'f_20norHandlingFeeCarrier',
- 'f_40norHandlingFeeCarrier',
- 'f_20gpHandlingFeeDivision',
- 'f_40gpHandlingFeeDivision',
- 'f_40hcHandlingFeeDivision',
- 'f_45hcHandlingFeeDivision',
- 'f_20norHandlingFeeDivision',
- 'f_40norHandlingFeeDivision',
- 'additionalCodeCarrie',
- 'additionalCodeDivision',
- 'cls',
- 'etd',
- 'begtime',
- 'endtime',
- 'via',
- 'colorcode',
- 'tstype',
- 'tT',
- 'sub',
- 'remark',
- 'webRemark',
- 'f_20gpT3',
- 'f_40gpT3',
- 'f_40hcT3',
- 'f_45hcT3',
- 'f_20norT3',
- 'f_40norT3',
- 'pricingCode',
- 'branchName',
- 'cnyRate',
- 'payment',
- 'forFeeder',
- 'f_20gpBase',
- 'f_40gpBase',
- 'f_40hcBase',
- 'f_45hcBase',
- 'f_20norBase',
- 'f_40norBase',
- 'priceAuthority',
- 'contractNo',
- 'custumerAuthority'
- ]
- };
- let table = sheet.tables.add('SofreightTable',
- templateDefine.dataRowStartIndex - 1, 0, rowCount - templateDefine.dataRowStartIndex + 1, templateDefine.columns.length);
- table.expandBoundRows(true);
- table.allowAutoExpand(true);
- table.style(null);
- table.bindingPath("SofreightTable");
- /**********数据绑定**************/
- const tableDataRange = table.dataRange();
- const dataArray = sheet.getArray(
- tableDataRange.row,
- tableDataRange.col,
- tableDataRange.rowCount,
- tableDataRange.colCount
- );
- const dataSource = {
- SofreightTable: undefined
- };
- // 原始数据处理为绑定数据
- dataSource.SofreightTable = dataArray.map((row) => {
- const obj = {};
- row.forEach((cell, index) => {
- obj[templateDefine.columns[index]] = cell;
- });
- return obj;
- });
- // 执行数据绑定
- sheet.setDataSource(new GC.Spread.Sheets.Bindings.CellBindingSource(dataSource));
- })();
复制代码 执行后,拖动右侧的滚动条,滚动条无反应,控制台报错,并且滚动中会出现白屏。
|
最佳答案
查看完整内容
这边测试可能是在原数据基础上绑定的数据源造成此错误。
尝试新建一个sheet,绑定数据源,不会出现报错问题,
您参考附件所示的demo,实际测试下。
测试步骤:
1、导入前面提供的excel文件
2、点击 绑定数据源 按钮
|