日期:2014-05-17  浏览次数:20812 次

reportviewer绑定报表在编译和不编译时的区别
   最近研究vs自带的rdlc文件,因需要不能在设计报表时确定列数和列名,所以只能在程序运行的时候根据实际情况修改rdlc文件(使用xml修改),但是发现了几个问题,想和大家讨论一下。
   1.解决方案里有个报表模板,在程序运行过程中根据这个模板修改rdlc文件,然后保存到一个新的rdlc文件里(之前解决方案里没有这个),执行后不报错,但reportviewer会显示“本地报表处理期间出错。尚未指定报表xx的报表定义。未将对象引用设置到对象的实例”。。
   2.解决方案里有报表模板和一个空的报表,程序运行后根据模板修改rdlc文件,并保存到解决方案里那个空的rdlc文件里,执行,这次不会显示错误信息,但是一直是空白的。
   3.紧接着2,如果这时关闭程序,不重新编译,还是会一直显示空白;但是如果重新编译后执行(也就是调试),会出现报表数据。(2.3reportviewer报表来源都指向解决方案里那个空白报表。)
   求哪位大神告诉我这是为什么?

------解决方案--------------------
ReportEmbeddedResource 这个是用的编译到exe的资源,

用LocalReport.ReportPath 属性用文件路径加载本地RDLC文件
http://msdn.microsoft.com/zh-cn/library/microsoft.reporting.webforms.localreport.reportpath%28v=vs.80%29.aspx