【问题标题】:.rdlc reporting bound to Object Data Source in Three layer Application.rdlc 报告绑定到三层应用程序中的对象数据源
【发布时间】:2009-10-03 22:01:47
【问题描述】:

我有以下情况,我在 asp.net 应用程序中有一个报告层(独立)(不是网站,这意味着不存在 App_Code 文件夹),我只想创建对象数据源来获取一个对象单独的层(让我们说来自数据访问层),然后使用该对象数据源来创建报告,我花了一整天的时间来解决这个问题,大量的工作和网络上的文章,但没有提到我真的很想做,任何答案都是appriciated...

为了让事情在这里更清楚,假设如下:

我有以下层的解决方案,

  • 用户界面
  • 报告(没有员工对象)只是一个参考
  • 业务逻辑
  • 数据访问层(Employees-->GetEmployees(),

我只需要如上所述,我想从报告层创建对象数据源,从 DAL 获取 Employee 对象,然后使用它的 GetEmployees 方法添加到 报告,我认为现在更清楚了,因为报告层也没有 App_Code 文件夹。

【问题讨论】:

  • 只是好奇您是否在这方面取得了任何进展?我很想听听你为实现这一目标做了什么。
  • @MattSlay 其实不多,直到现在才解决这样的问题很烦人,因为我急于了解和实施,最后我所做的只是在同一个中使用 DataSet Web.UI 层
  • 很遗憾这个问题从未得到回答,这正是我想要做的。确实是一个非常罕见的话题,绝对是一个定制的解决方案。

标签: .net reporting rdlc objectdatasource


【解决方案1】:

我一直这样做的方法是创建一个具有 List 类型属性的类。我在这个类中有一个名为 LoadReport(params......) 的方法,我会调用 GetEmployess 来填充我的属性。

然后我会在报表设计器中添加一个新数据集,选择绑定到对象,然后选择我创建的类。完成后,数据集将允许您展开 List 属性,您可以在其中将不同的字段拖到设计器上。

我在 VS2008 中做过,目前在 VS2010 中尝试

【讨论】:

  • 更正:在“数据源”工具栏中,只需单击“添加新数据源”,选择“对象”,选择您创建的特定于具有公开属性的报表的报表类
  • 认为这个问题已经很久没有发布了,但我会尝试一下,并将结果提供给你:)
  • 谢谢,它工作得很好,我使用了相同的方法,向 ASP.NET Web 应用程序(称为 ReportsLogic)添加了一个新文件夹,其中包含为每个报告设计的类,就像您在上面发布的类一样。
猜你喜欢
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多