1
im本地渲染,我把数据集放入我的解决方案的数据访问层。我如何从RDLC访问它?如何从RDLC中的其他程序集/库中引用数据集?
im本地渲染,我把数据集放入我的解决方案的数据访问层。我如何从RDLC访问它?如何从RDLC中的其他程序集/库中引用数据集?
虽然我不知道如何直接回答你的问题,我遇到了同样的问题,我和这里是我的解决方案:
在C#我只是acessed本地的报告,并overrid与我想要的任何数据的数据源提供:
using (var report = new LocalReport())
{
report.ReportPath = @"C:\Sample.rdlc";
report.DataSources.Clear();
report.DataSources.Add(new ReportDataSource("MyDataSet", yourDataSet));
var bytes = report.Render("PDF");
}
然后在RDLC文件的XML,我只指定一个虚拟的数据源,然后手动设置我自己的数据集的值:
<DataSources>
<DataSource Name="Dummy">
<DataSourceReference>Dummy</DataSourceReference>
<rd:DataSourceID>bd7d6037-aff5-4ce5-a156-a75f8c1e660b</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="MyDataSet">
<Fields>
<Field Name="Name">
<DataField>Name</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Amount">
<DataField>Amount</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>Dummy</DataSourceName>
<CommandText />
</Query>
</DataSet>
</DataSets>
这对我来说很好。