您请求的报表需要更多信息...

ASP.NET水晶报表心得:

我建立好的的报表,在本机测试通过,可是一发布就出现这个提示:"您请求的报表需要更多信息...".这个问题郁闷死我了,困扰了我好一阵,说句心里话,还没有解决,在网上了也搜索了,但是没有解决我所遇到的问题,我采取了一个折中的办法去处理.

         首先说一下这个问题的所在原因,可能是你在设计水晶报表的时候,采用的数据源与所发布机器的数据源不一致所造成的,但水晶报表中你设计好的报表模板的数据源又没法更改,即使更新,有时候还会出现这个问题.我没有找到水晶报表数据源更改的语句.只有通过设计器去更新数据源.

         即然这是问题的所在原因:我采用的方法是这样的:首先,在设计报表的时候,连接SQL服务器的时候采用"."(注意:是一个点代表本机),数据库,登陆用户名和密码与发布服务器的数据源保持一致,这样就保证你所设计的数据源与发布服务器的保持相同.解决数据源不一致的问题.

         其次,在点击打印或者导出生成的时候,还会出现这个提示.原因是,在水晶报表中,打印和导出都要求重新绑定数据源,所以在ASPNET页中不要用IsPostBack判断事件,直接在Page_Load中每次刷新的时候调用报表加载绑定方法.即可以解决这个问题.

        另外这只是个折中的方法,缺点是:每个报表需要建立一个页面,太麻烦,另外,就是应该可以通动推的方式动态绑定报表.希望高手指教,我没研究明白.^.^

     注:如果想将报表上方显示的主报表去掉,可以这样处理一下,让其变小

       TabControl tc = (TabControl)this.crystalReportViewer1.Controls[0].Controls[0];
       tc.ItemSize = new Size(1, 1);

 

原文地址:https://www.cnblogs.com/chenbg2001/p/1367536.html