Использование нескольких таблиц данных в одном отчете в отчетах DevExpress

#c# #devexpress #report

#c# #devexpress #Сообщить

Вопрос:

Я работаю с очень ограниченными инструментами, поскольку я в нашей корпоративной среде пытаюсь создавать автоматические отчеты из нашей основной базы данных. Конструктор отчетов — это DevExpress, для которого глобально установлено значение C #.

У меня есть два запроса, которые приводят к созданию отдельных таблиц данных, которые будут использоваться при построении отчета. Содержание этих таблиц данных, по сути, следующее

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

Итак, у меня есть таблица данных, содержащая личные данные отдельных лиц, и другая таблица, в которой перечислены их предыдущие должности.
Я заинтересован в создании автоматизированного конструктора резюме с текущими и тремя последними позициями на странице отчета для заданного количества людей. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу фильтровать записи в таблице 2 по идентификатору пользователя в таблице 2 в пользовательском интерфейсе DevExpress. Я могу создать одностраничное резюме для людей, в котором красиво перечислены все личные данные из таблицы 1, но затем вводятся ВСЕ записи из таблицы 2 и повторяется это для всех отдельных страниц резюме.
Итак, в качестве примера, у меня есть три человека, все с тремя позициями, тогда отчет даст мне девять предыдущих позиций для всех кандидатов.

Я попытался создать вычисляемое поле в таблице 2 и настроить его так, чтобы идентификатор пользователя, который в настоящее время находится на главной странице, соответствовал идентификатору пользователя в подробном отчете. Но я не могу получить доступ к другой таблице изнутри, где вызывается вычисляемый параметр

 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. Добавление таблицы1. prefic выдает сообщение об ошибке.

Любая помощь приветствуется! Заранее спасибо

Ответ №1: