Naeel Maqsudov » 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-ы.
Нет ничего проще.
В репорт кладем 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-ы.