QReport и StringGrid

VCL, KOL, CLX и др. Свои компоненты
Ответить
Ra
Сообщения: 1
Зарегистрирован: 25 окт 2004, 16:42

25 окт 2004, 16:52

Господа, помогите плиз совладать с QReport. Имею табличные данные, но не БД, пусть для примера StringGrid.
Как эти данные пометить на QReport? Чтобы он автоматически переносил на другую страницу, если данных окажеться много, рамки рисовал.
In nomine Patri, et filli, et spiritus sancti.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

02 ноя 2004, 02:59

Нет ничего проще.
В репорт кладем Band с типом Detail. В этот Band несколько (по количеству столбцов) QRLabel.

Затем пишем обработчик события OnNeedData

begin
QRLabel1.caption:=StringGrid1.Cells[0,QuickRep1.RecordNumber];
QRLabel2.caption:=StringGrid1.Cells[1,QuickRep1.RecordNumber];
QRLabel3.caption:=StringGrid1.Cells[2,QuickRep1.RecordNumber];
MoreData:=QuickRep1.RecordNumber<StringGrid1.RowCount;
end;


Ну а рамочки - это долгие мытарства с двиганьем контролов по репорту и манипуляциями со свойствами Frame. Можно включить рамки у самих QRLabel, а можно под них положить QRShape-ы.
Ответить