在DevExpress报告

时间:2016-10-04 11:51:41

标签: c# devexpress report

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

我有两个查询导致在构建报告时使用单独的数据表。这些数据表的内容实质上是以下

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

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

我尝试在表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"中获取值。但它会自动从Table2中获取它。添加Table1。 prefic给出错误信息。

欢迎所有帮助!提前致谢