2

截至今天,我对 XtraReports(以及一般的 DevExpress)完全陌生。我有 2 天的时间来实施报告,所以请善待并提供详尽的解释。

我必须处理的是:

  1. 网络表单 (.NET 4)
  2. 实体框架(edmx,不是 Code First)
  3. 我创建了一个报告(继承 DevExpress.XtraReports.UI.XtraReport)
  4. 目前报告中没有字段,因为我不知道如何将其绑定到我的实体..

我确实找到了一个有人这样做的网站:

NorthwindEntities entities = new NorthwindEntities();
report.DataSource = entities.Categories;

我尝试在构造函数中这样做:

 this.DataSource = context.Tenants.ToList();

但即使我可以看到有 8 条记录,报告也没有显示任何内容。我猜我需要创建一些控件并绑定它们。有没有人有这种情况的一些工作代码?

编辑

如果有人问.. 是的,我已经到处搜索了一个例子,包括这里: http ://documentation.devexpress.com/#XtraReports/CustomDocument9814 。该站点确实显示了如何绑定到数据集..但我不知道如何使用实体框架代替它...这就是我在这里问的原因...

4

2 回答 2

3

这有效: http: //www.devexpress.com/Support/Center/p/Q334667.aspx

显然,您可以将 bindingSource 拖到那里,但您需要在设计器中添加一行额外的代码。就我而言:

this.bindingSource.DataSource = typeof(Tenant);

现在我可以看到填充了该类的所有属性的字段列表,并且可以将字段拖放到设计器上。

于 2012-07-31T09:00:12.477 回答
0

我们也使用 XtraReports,但在 winform 解决方案中,所以我不知道一切是否完全相同。

假设您在项目中添加了 xtraReport 文件,就像我们在其中一个项目中所做的那样,您可以在设计时而不是运行时设置数据源。为此,请打开报告并查看属性窗口。当您这样做时,您可以从 Visual Studio 的字段窗口中选择字段或完整的表格并将其添加到您的报告中。假设您不希望用户能够设计报告,您也可以在此处执行此操作。

根据我的经验,尽管创建一个单独的 edmx 文件是明智的,该文件只包含您要为报告显示的数据。devexpress 处理数据的方式是在过滤数据之前检索所有数据,对于大型数据集,这可能需要一段时间。

于 2012-07-31T08:31:24.177 回答