Fishborne 发表于 2020-6-3 09:55:28

AR 14 报表出错 索引超出范围。必须为非负值并小于集合大小。 参数名: startIndex


你好

报表出现这个报错,
索引超出范围。必须为非负值并小于集合大小。 参数名: startIndex
表示什么意思? 应该如何排查?

Fishborne 发表于 2020-6-3 13:34:11

改成数据库直连后, 报表可以预览不报错,
这种情形应该如何排查呢?

KearneyKang 发表于 2020-6-3 13:53:20

你保错的时候使用的是动态数据源绑定还是?
你说直连就可以显示,那么说明你的报表设计应该是么有什么问题的,只是直连和动态数据源绑定在数据源和数据集哪里有一些不同

Fishborne 发表于 2020-6-3 15:21:13

1. 直连的 SQL查询语句就是在项目的Startup.cs 复制的,
   (而且查询参数是写死在查询语句里的, 因此也没有拼接语句的不同)

2.直连数据库时, 在设计器里预览是可以的, 但是放在项目则会报错,
3.在项目中
   3.1. 用的是jsviewer,
   3.2当报表设置为直连时,Startup里的返回值已经改为null

Fishborne 发表于 2020-6-3 15:45:23


KearneyKang 发表于 2020-6-3 17:55:15

你的问题有点诡异,知道我们的售后技术电话不,我们电话沟通下吗,这样更加方便解决你的问题

Fishborne 发表于 2020-6-3 22:45:03

中午已将可以预览的报表发给对应的技术支持,在等她回复

KearneyKang 发表于 2020-6-4 09:59:51

您好,你的报表设计我看了 ,JSviewer显示不出来是因为你的报表设计需要优化

第一你的报表为啥要设计这么多列,然后使用列合并,其实只用使用两列就可以了。

如这样,就两列。你就根据这个方法进行你报表样式的调整


Fishborne 发表于 2020-6-4 11:27:28

1. 多一些列合并的原因是需要 方便调节页面中的二维码尽量成正方形 和 每一行的边距,
2. 我刚才去掉了多的列, 也仍然是报这个错
3. 请把修改后的报表发给我, 看是否可以解决这个问题
4. 报表之前是正常使用的, 只是因为我改了报表的尺寸,
    (报表属性--》外观 的地方改了尺寸后, 报表在项目中就会报上述的错误了)
   而且将报表再改回之前的尺寸, 也仍然报错

KearneyKang 发表于 2020-6-4 11:53:44

你好,我设计的时候跟你设计不一样,给你估计你也参考不了,我看了你的报表给你几个建议:
第一点:关于正方形的那个二维码的问题,你可以在表格中先放一个容器,然后再在容器里放二维码就可以随便调整了,不用使用多列
第二点我看你使用了分组,主要是用来实现标签打印每页显示一个标签的 内容,那么你可以使用页面报表,然后利用页面报表的整体分组


第三点页面报表的页面大小的设置:

第四点
就是你的那个报表估计你需要自己重新设计下


页: [1] 2 3
查看完整版本: AR 14 报表出错 索引超出范围。必须为非负值并小于集合大小。 参数名: startIndex