报表打印异常:
在 Microsoft.Reporting.WinForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, CreateAndRegisterStream createStreamCallback, Warning[]& warnings)
在 Microsoft.Reporting.WinForms.LocalReport.Render(String format, String deviceInfo, CreateStreamCallback createStream, Warning[]& warnings)
在 ReportPrint_net2.Form2.Export(LocalReport report) 位置 C:\Users\Andy\Documents\Visual Studio 2008\Projects\ReportPrint_net2\ReportPrint_net2\Form2
.cs:行号 103Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: 处理报表时出错。 ---> System.Exception: 尚未为数据源“ CFBuPinDataSet_BUPINTBALE“ 提供数据源实例。
开发描述:在VS2012/ reporting 2008 开发报表,新建数据集CFBuPinDataSet, 新建报表CFBuPinReport ,报表引用数据集,打开CFBuPinReport .rdlc 报表文件你会发现dataset引用的数据集就是你命名的数据集名称“CFBuPinDataSet ” ;
<DataSets>
<DataSet Name="CFBuPinDataSet">
<Query>
<DataSourceName>CFBuPinDataSet</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
在VS2008/ reporting 2005 开发报表,新建数据集CFBuPinDataSet, 新建报表CFBuPinReport ,报表引用数据集,打开CFBuPinReport .rdlc 报表文件你会发现dataset引用的数据集是你命名的数据集名称+DataTable的名称:“CFBuPinDataSet_BUPINTBALE” ;
<DataSets>
<DataSet Name="CFBuPinDataSet_BUPINTBALE">
<Fields>
这个差异是在开发的过程中发现的,习惯了高版本,切换版本开发的时候出现这种问题,这时有种惯性的思维提示着我“数据源名称没有引用错误啊,我在VS2012上都是这么编写的哦" 陷入了误区。问了度娘(神奇Google被封了),问了也是白问,! 此时开始把矛头转向了报表的版本问题,试着把数据源名称改为了异常提示 System.Exception: 尚未为数据源“CFBuPinDataSet_BUPINTBALE" 的这个数据源,编译发布运行,OK了!汗颜!!! 由此发现版本不同会导致一些习惯上的改变,因此在开发时候要注意版本的问题。
总结:不要被惯性思维冲昏了头脑还是从客观上分析自己的程序,这样才能有所收获!