2011-01-26 108 views

回答

1

虽然我不知道如何直接回答你的问题,我遇到了同样的问题,我和这里是我的解决方案:

在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> 

这对我来说很好。

相关问题