如何在 RDLC 中引用来自不同程序集/库的数据集?

发布于 2024-10-14 10:50:08 字数 47 浏览 5 评论 0原文

在本地渲染时,我将数据集放入解决方案的数据访问层中。我如何从 RDLC 访问它?

im rendering locally, i placed the dataset into the dataaccess tier of my solution. how can I access it from RDLC?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

大姐,你呐 2024-10-21 10:50:08

虽然我不确定如何直接回答你的问题,但我自己也遇到了同样的问题,这是我的解决方案:

在 C# 中,我只是在本地访问报告并使用我想要提供的任何数据覆盖数据源:

    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");
    }

然后在 XML 中在 RDLC 文件中,我只是指定了一个虚拟数据源,然后手动设置我自己的数据集的值:

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

这对我来说非常有用。

While I am not sure how to answer your question directly, I ran into the same problem myself and here was my solution:

In C# I just acessed the report locally and overrid the datasource with whatever data I wanted to provide:

    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");
    }

Then in the XML of the RDLC file, I just specified a dummy data source and then manually set the values of my own dataset:

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

This has worked great for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文