2013-11-25 2 views
1

Я работаю с ReportBuilder 12.05, и я пытаюсь выполнить итерацию через массив (я думаю) моего источника данных.Цифровые метафоры: построитель отчетов - как перебирать элементы источника данных?

У меня есть источник данных под названием «STAFF» с некоторыми полями внутри - динамически созданный из таблицы базы данных.

Так таблица выглядит следующим образом:

tablename: STAFF 
id | name | last_name 
---------------------- 
1 | Alex | Gates 
2 | Pete | Jefferson 
... 

я могу обращаться к одному элементу путем доступа к STAFF['LAST_NAME']. Но это всегда будет «Гейтс». Как перебирать все мои STAFF?

Мой код в настоящее время выглядит следующим образом:

memo1.lines.clear; 
for len := 1 to 5 do 
begin 
    memo1.lines.add(STAFF['LAST_NAME']) 
end; 
+0

Ошибка: SummaryBeforePrint, строка 5: Ожидание: '(' или '[', got 'Next' вместо этого. ' – Thomas

+0

AFAIK это не функция. Я совершенно новичок в этом инструменте. – Thomas

+0

Если я напишу это без 'Staff.Next', это работает, говоря: он бежит в бесконечный цикл.Так что, но когда я добавляю' .Next', он вообще не работает. :( – Thomas

ответ

1

Добавьте SubReport в итоговую группу, затем выберите новую вкладку SubReport в нижней части конструктора, установите для нее несколько столбцов и трассировку столбца слева направо (File-> Page Setup-> Layout), затем назначьте datapipeline в SubReport. Затем добавьте свои поля в SubReport.

0

OP использует скриптовый движок для конечного пользователя.
Так что, возможно, необходимо изменить событие, чтобы достичь того, что он хочет:

Согласно справке:

Declaration

property OnEndPage: TNotifyEvent;

This event fires after a page has completed printing. If you set DonePrinting to True in this event handler, no further pages will print.

Это событие должен быть использован вместо BeforePrint.

 Смежные вопросы

  • Нет связанных вопросов^_^