jdsoft 发表于 2023-8-17 10:59:31

16.1.0 表格设置数据源失败[SJS-19757]

本帖最后由 Joestar.Xu 于 2023-8-18 09:12 编辑

创建一个表格,通过隐藏表头,并删除表头
table.showHeader(false);
sheet.deleteRows(headerIndex, 1);

再设置数据源时
var data = {t:[{d1:100,d2:200,d3:300,d4:400,d5:500},{d1:100,d2:200,d3:300,d4:400,d5:500},{d1:100,d2:200,d3:300,d4:400,d5:500}]};
var source = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
sheet.setDataSource(source);


会显示表格数据失败,并向上插入空行



Joestar.Xu 发表于 2023-8-17 11:41:38

您好,我看您这边已经通过table.showHeader(false)隐藏起来了header,为什么还要执行sheet.deleteRows(headerIndex, 1)呢?

jdsoft 发表于 2023-8-17 12:02:41

本帖最后由 jdsoft 于 2023-8-17 12:07 编辑

Joestar.Xu 发表于 2023-8-17 11:41
您好,我看您这边已经通过table.showHeader(false)隐藏起来了header,为什么还要执行sheet.deleteRows(head ...
如果不删除,表格上方会有一行空行,而且与15版本的行为不一致

Joestar.Xu 发表于 2023-8-17 13:58:39

本帖最后由 Joestar.Xu 于 2023-8-17 14:03 编辑

因为我这边看不到您是如何通过代码设置的,所以我做了一个简单的Demo来试着实现您这个需求,您参考一下。

打开后点击Modify按钮绑定数据源。


jdsoft 发表于 2023-8-17 17:04:27

我对您的Demo进行了修改,可以展示出问题

如果工作表在默认行数不够的情况下, 执行setDataSource 会出现以下错误


如果启用
table.expandBoundRows(true)则会重现我开头问题

Joestar.Xu 发表于 2023-8-17 18:21:04

您好,问题已重现,这边调研一下,后续有进展我会在本贴中回复您。

本帖先做保留处理了。

Joestar.Xu 发表于 2023-8-21 14:08:55

您好,该问题已被确认为是一个Bug,目前正在修复中,等修复完毕我会在帖子下回复您。

临时的解决方案请参考:

table.showHeader(true);
sheet.setDataSource(source);
table.showHeader(false);

Joestar.Xu 发表于 2023-9-12 10:37:09

您好,该问题已在最新版16.2.2中修复。
页: [1]
查看完整版本: 16.1.0 表格设置数据源失败[SJS-19757]