2013-01-08 86 views
0

我使用2个数据集的数据集生成此代码的PDF文件,但是,PDF中的数据仅出现在ds.Tables [0]中,而不是ds.Tables [1]。请建议solution..my代码如下..如何使用C#中的代码隐藏多个数据源来渲染rdlc主报告?

ReportViewer viewer = new ReportViewer(); 

viewer.ProcessingMode = ProcessingMode.Local; 
viewer.Reset(); 
viewer.LocalReport.ReportEmbeddedResource = @"D:\Projects\NIKHIL\NIKHIL\Report3.rdlc; 
viewer.LocalReport.ReportPath = @"D:\Projects\NIKHIL\NIKHIL\Report3.rdlc; 
viewer.LocalReport.DataSources.Clear(); 
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", ds.Tables[0])); 
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", ds.Tables[1])); 
viewer.LocalReport.Refresh(); 

byteViewer = viewer.LocalReport.Render(reportType, deviceInfo, out mimeType, out encoding, out extension, out streamIds, out warnings); 

byte[] file = byteViewer; 
FileStream stream = new FileStream(FileStorageLocation + "\\" + fileName, FileMode.Create, FileAccess.Write); 
stream.Write(file, 0, file.Length); 
stream.Close(); 

回答

0

当有多个数据源,你必须指定你在RDLC文件是指哪一个。

对于你必须编辑这样的公式每一个表情:

=First(Fields!nameOfYourField.Value, "nameOfYourDataSet")

所以会有两个细胞,一个带有:

=First(Fields!nameOfYourField.Value, "DataSet1")

而另外一个与:

`=First(Fields!nameOfYourField.Value, "DataSet2")