找回密码
 立即注册

QQ登录

只需一步,快速开始

bgrimm_auto

初级会员

45

主题

156

帖子

423

积分

初级会员

积分
423

微信认证勋章

[已处理] 动态行查询报错

bgrimm_auto
初级会员   /  发表于:2020-5-18 09:37  /   查看:6346  /  回复:13
image.png595274657.png

image.png209401854.png

这是返回的数据,
image.png734312133.png

第一次查询是正确的,再次查询就都会报错,附件中为前端程序

新建文件夹.zip

5.52 KB, 下载次数: 170

13 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-5-18 18:12:17
沙发
这个报错中说是行索引不合法,应该是您代码中哪一句行索引传参的时候超过了范围,看这个代码也无法复现这个报错,建议您跟踪调试下看是执行那一句代码的时候报错了
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
bgrimm_auto
初级会员   /  发表于:2020-5-19 09:48:22
板凳
查询的是同样的数据,但是每查询一次,样式就变化了 image.png40212401.png

{"company":"宜春","people":"李四","date":"2020-5-01","principle":"张三","inspectPeople":"张三、李四","inspectDetail":"完成 正常","DataSet":[{"id":"03","name":"安全生产检查月报","date":"2020/5/1 0:00:00","num":1,"item":"aa","measure":"aa1","complete":"aa2","updateDate":"2020/5/9 17:50:38"},{"id":"03","name":"安全生产检查月报","date":"2020/5/1 0:00:00","num":2,"item":"bb","measure":"bb1","complete":"bb2","updateDate":"2020/5/9 17:50:38"},{"id":"03","name":"安全生产检查月报","date":"2020/5/1 0:00:00","num":3,"item":"cc","measure":"aa1","complete":"aa2","updateDate":"2020/5/9 17:50:38"},{"id":"03","name":"安全生产检查月报","date":"2020/5/1 0:00:00","num":4,"item":"dd","measure":"bb1","complete":"bb2","updateDate":"2020/5/9 17:50:38"},{"id":"03","name":"安全生产检查月报","date":"2020/5/1 0:00:00","num":0,"item":" ","measure":" ","complete":" ","updateDate":"2020/5/19 9:42:04"}]}


data数据如上,每次查询都是5行数据
source = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
sheet.setDataSource(source);
sheet.resizeTable(table, new GcSpread.Sheets.Range(4, 1, tableRows + 1, sheet.getColumnCount() - 1));

  sheet.addSpan(4, 0, tableRows, 1);
for (i = 5; i < 4 + tableRows; i++) {
     sheet.setRowHeight(i, 80);      
     }
sheet.isPaintSuspended(false);


tableRows 为获取到的每次查询的行数
但是查询后是这样的:
第一次查询如下:
image.png748572387.png

第二次查询:
image.png43958739.png

第三次查询:
image.png921054992.png
第四次查询:
image.png628085326.png
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-5-19 14:24:18
地板
这要跟踪调试下,看着快代码没有发现问题,可以提供个能复现问题的Demo吗?
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
bgrimm_auto
初级会员   /  发表于:2020-5-19 14:44:31
5#
demo 就是我昨天上传的那个代码初始化sheet后

function initSpread(spread) 函数为初始化自定义表格

function InitSpread_Data(spread, sdate, strTable) 查询调用函数
返回的data就是我帖子中所说

功能做的很简单,就是为了实现动态行,加了一个传回了表格行的格式以及数据
根据行数对行高设置,


demo.zip

5.75 KB, 下载次数: 178

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-5-20 09:24:27
6#
您好,三个问题:
1、table样式不统一,是因为您的table没有设置主题样式,而只是在单元格上设置了样式,主题样式用法参考学习指南:
https://demo.grapecity.com.cn/sp ... /table-style/purejs

2、更改默认行高可以用sheet.defaults.rowHeight = 80这种方式,参考API:
https://demo.grapecity.com.cn/sp ... sheet~defaults.html

3、行数不够,可以在获取后端dataSource后先sheet.setRowCount()设置足够的行数再执行之后的逻辑,如果仍然解决不了问题,请提供一个能重现问题的、可运行的Demo,并详细描述复现步骤。
回复 使用道具 举报
bgrimm_auto
初级会员   /  发表于:2020-5-20 15:05:09
7#
KevinChen 发表于 2020-5-20 09:24
您好,三个问题:
1、table样式不统一,是因为您的table没有设置主题样式,而只是在单元格上设置了样式, ...

您好,附件中上传了程序的demo
里面两个按钮,每次查询的单元行不同,但是会报错,请帮忙处理,此功能应该如何实现,试了改变sheet行是不可以的,最后一行就没有了,因为查询时候是根据时间查询,每个月的行数不同,需要实现动态行添加以及行的变化及样式,谢谢
image.png238526610.png

Demo.zip

5.79 MB, 下载次数: 181

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-5-20 22:23:53
8#
您好,您这个逻辑有几个问题
1. 绑定后addSpan,要先removeSpan再add,不然重复了
2.rowChange里从后一行复制样式,如果是行数少了,后一行不存在
3.绑定后没必要resizeTable,自动会变的。
附件是我改了一些逻辑 demo.html (28.49 KB, 下载次数: 127)
回复 使用道具 举报
bgrimm_auto
初级会员   /  发表于:2020-5-21 14:25:59
9#
dexteryao 发表于 2020-5-20 22:23
您好,您这个逻辑有几个问题
1. 绑定后addSpan,要先removeSpan再add,不然重复了
2.rowChange里从后一行 ...

您好!非常感谢,您修改了以后,动态查询是没有问题了,但是,我新增了行以后,再查询就会出问题。
例如:
image.png577388915.png
点新增行后,新增了两行,
image.png688268432.png

再次查询时:样式就不对了
image.png38883055.png

如果新增一行,查询也是同样问题
image.png503247680.png

如果查询不同的数据,数据量少的时候
image.png715761718.png

以上都是新增行后出现的查询问题,

还有一个问题就是,table表格内容设置自动换行。
image.png899332275.png


image.png187195738.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-5-22 11:53:17
10#
你好,在更换数据源后,需要重新建立table的bindingPath,所以需要在sheet.setDataSource下方再次调用table.bindingPath("DataSet");
参考附件示例。

demo_V2.html

28.57 KB, 下载次数: 126

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部