Как сделать так, чтобы подотчеты Master / Detail в ReportBuilder работали правильно? - PullRequest
1 голос
/ 07 мая 2010

У меня есть отчет в ReportBuilder, который должен сообщать о двух объектах. Я не создавал этот отчет, и я не могу спросить человека, который сделал о том, как это работает. Перед запуском отчета у нас есть некоторый код, который проходит, находит все свойства объектов и загружает их в набор данных памяти, который выглядит следующим образом:

OBJECT_ID: TStringField
PROP_NAME: TStringField
PROP_VALUE: TStringField

Затем механизм отчетов создает в отчете строку для каждого свойства в этом наборе данных. Это реализовано в подотчете, родитель которого содержит только OBJECT_ID, который является понятным для человека именем.

Все шло отлично, пока нам не пришлось отображать «комментарий» произвольного размера в отчете. Я сделал второй подчиненный отчет с TMemoField, чтобы он мог содержать текст, и настроил отчет в конструкторе отчетов.

То, что я ожидаю при запуске отчета, выглядит примерно так:

HEADER
   Object 1 properties
   Object 1 comment
   Object 2 properties
   Object 2 comment

Мне удалось получить почти все , но это. Я использовал свойства MasterDataPipeline и MasterFieldLinks конвейеров подотчета, чтобы попытаться связать OBJECT_IDs подотчетов с OBJECT_ID заголовка, и это наиболее близко, что мне удалось получить, но теперь я вижу следующее:

HEADER
   Object 1 properties
   Object 1 comment
   Object 2 comment

Раздел «Свойства объекта 2» нигде не виден, хотя я вручную проверил, что данные попадают в набор данных правильно.

Это сводит меня с ума. Любой гуру ReportBuilder там знают, что происходит, и теперь, чтобы исправить это?

1 Ответ

1 голос
/ 21 апреля 2011

Вы сделали все правильно, но вместо конвейеров должна быть установлена ​​ссылка master-detail в наборах данных (т.е. TTable, TClentDataSet). См. Стр. 291 руководства RBuilder в формате PDF (можно найти на веб-сайте цифровых метафор).

...