找回密码
 立即注册

QQ登录

只需一步,快速开始

xfeng1982

银牌会员

1

主题

10

帖子

2575

积分

银牌会员

积分
2575

活字格认证

最新发帖
xfeng1982
银牌会员   /  发表于:2012-8-21 16:52  /   查看:13336  /  回复:14
新手刚接触 ActiveReport 之前,之前就是简单的用了用RDLC,别的没用过。

现在问2个问题:

环境:vs2008+ActiveReport for .net 3.0

1. 目前的 ActiveReport for .net 3.0与ActiveReport for .net 6.0 这2个版本有啥区别?只是版本高低之区别么?还是6.0带独立设计器, 3.0不带?

问题描述:

索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index

源错误:

行 45:         rpt.DataSource = myset.Tables[0];
行 46:         rpt.Run();    ------------------------------------------------>错误停在这里,不知道我的问题出在哪里?我看了一下查询,确实能查询出1条记录来。

代码如下:
       SqlConnection conn = new SqlConnection(strCon);
        conn.Open();
        string mystr = "select SysId from SMSSend where sysid=1";
        SqlDataAdapter ad = new SqlDataAdapter(mystr, conn);
        DataSet myset = new DataSet();
        ad.Fill(myset,"SMSSend");

        ActiveReport3 rpt = new ActiveReport3();
        rpt.DataSource = myset.Tables[0];
        
        rpt.Run();

        this.WebViewer1.Report = rpt;
        conn.Close();
-----------------------------------------------------------------------
希望有时间的朋友,帮帮忙,先谢了.

14 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-8-21 18:02:00
沙发
回复 1楼xfeng1982的帖子

xfeng1982 你好,
1.关于 3.0 和 6.0 之间的区别可以参考中文帮助文档-新增功能章节。下载链接:http://www.gcpowertools.com.cn/support/document.htm
2.从提示上看,应该是 DataSet 为空,请确保数据源正确获取。
回复 使用道具 举报
xfeng1982
银牌会员   /  发表于:2012-8-21 18:08:00
板凳
首先感谢,你的解答。

1.中文帮助文档我看了,新增了许多功能,对于刚认识你们AR来讲,还不是特别清晰。
2.我给DataTable.Rows.Count 赋值看了一下,可以查询出一条数据来,sql连接和语句应该没问题。
另外:
3.刚看到2011年一个贴子,一个版主回答的,AR不支持终端用户的自行报表设计功能么?在B/S架构下.
回复 使用道具 举报
xfeng1982
银牌会员   /  发表于:2012-8-21 18:13:00
地板
这是第3点的那个贴子,最后一贴。不知道现在是不是有所支持或者改善了呢?

http://gcdn.grapecity.com/showtopic-2099.html
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-21 18:14:00
5#
回复 3楼xfeng1982的帖子

xfeng1982 你好,
问题二:请发 Demo 到论坛调试。
问题三:请问指的是在浏览器中设置还是?我们的做法为在客户端安装最终报表设计器,在网页中预留接口上传。
回复 使用道具 举报
xfeng1982
银牌会员   /  发表于:2012-8-22 09:35:00
6#
回复 5楼iceman的帖子

re:问题三: 比如: BS架构下,套打的时候发现有一个数据打印位置不对,终端用户可以自行打开报表设计器,对相应的数据控件进行位置调整,然后保存,再打印就OK了,类似这样的功能。

re:问题二:我再调试一下看看吧,看是不是数据源的问题。
回复 使用道具 举报
xfeng1982
银牌会员   /  发表于:2012-8-22 09:55:00
7#
我确认了一下,不是数据源的问题,不知道还有哪的问题会出现这种情况?

我在1楼的代码里面加了2行代码,加了一个 gridview控件,测试了一下,gridview显示数据没问题...

     GridView1.DataSource = myset;
      GridView1.DataBind();

我前台的代码就是拖放了一个WebViewer 控件,前台代码如下:
   <ActiveReportsWeb:WebViewer ID="WebViewer1" runat="server" height="250px"
          ReportName="express" width="292px">
     </ActiveReportsWeb:WebViewer>
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-22 12:01:00
8#
回复 7楼xfeng1982的帖子

xfeng1982 你好,
1.问题三使用 AR 专业版中的 End User Designer-最终用户设计器可以满足该需求。使用方法:在客户端安装最终报表设计器,在网页中预留接口上传。
2.我无法重现问题,能否请楼主发 Demo 到论坛调试?
回复 使用道具 举报
xfeng1982
银牌会员   /  发表于:2012-8-24 09:42:00
9#


此Demo我测试了,和我的问题一样,关于数据库的问题,我没有建立,因为我本机没有安装SQL的完整版本,我在报表里面指定了一个字段名字为:SysID这一个字段,用来测试的。
表的连接信息在code里面有,希望帮忙给看一下,是我使用不当,还是版本问题?还是其它的问题,谢谢....

另外,你提到的 End User Designer 在3.0的版本当中有吗?我安装完成之后,没有这个控件,在B/S的aspx文件下面,只有一个webviewer不知道是不是正常的?webviewer也是我在 工具箱的 选择项里面  添加上去的,好像没见过有 End User Designer 这个的DLL或相关的引用..

本帖子中包含更多资源

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

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-24 14:44:00
10#
回复 9楼xfeng1982的帖子

xfeng1982 你好,
AR 3.0 中没有提供 EndUserDesigner ,在 AR 6.0 和 AR 7.0 中提供 EndUserDesigner 。
问题一我需要搭建环境调试,有结果尽快回复。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部