在DevExpress报表中使用单个报表中的多个数据表

本文关键字:报表 数据表 DevExpress 单个 | 更新日期: 2023-09-27 18:11:22

我正在使用非常有限的工具,因为我在我们的公司环境中试图从我们的主数据库创建自动报告。报表设计器是一个全局设置为c#的DevExpress。

我有两个查询,它们将产生用于构建报告的单独数据表。这些数据表的内容基本上如下

+----------+------+-----+      +----------+----------+---------+-----+
| PersonId | Name | ... |      | PersonId | JobTitle | Company | ... |
+----------+------+-----+      +----------+----------+---------+-----+
|    1     | John | ... |      |    1     |  Clerk   |   ACME  |     |
+----------+------+-----+      |    1     |  Janitor |Umbrella |     |
                               +----------+----------+---------+-----+

因此,我有一个包含个人详细信息的数据表和另一个列出他们以前职位的表。我有兴趣建立一个自动化的简历生成器,当前和三个最新的位置在一个给定数量的人的报告页面。我遇到的问题是,我无法通过DevExpress UI中的Table2中的PersonId过滤表2中的记录。我可以为这些人创建一页的简历,其中漂亮地列出了表1中的所有个人详细信息,然后输入表2中的所有记录,并在所有个人简历页面上重复此操作。举个例子,我有三个人,他们都有三个职位,那么报告就会给我所有候选人以前的九个职位。

我尝试在表2中创建一个计算字段,并编写脚本使其与母版页中当前的PersonId与详细报告中的PersonId相匹配。但我不能从内部访问另一个表其中计算参数被称为

private void Previouspositions_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e) {
  e.Value = Convert.ToString((e.Row as DataRowView).Row["Table1.PersonId"]);
  return;
}

计算字段能够从"PersonId"中获取值,但它会自动从表2中获取值。添加表1。Prefic给出错误消息。

欢迎大家帮忙!提前感谢

在DevExpress报表中使用单个报表中的多个数据表

我更喜欢在这个场景中使用Master-Detail Report。请遵循以下示例:

第3课-创建主-明细报表
如何:使用详细报表频带创建主-详细报表
如何:使用子报表

创建主-详细报表