Detail
-------------------------
Group Header
-------------------------
Sub Detail QRLabel1 QRLabel2 ...
-------------------------
Group Header
-------------------------
Sub Detail QRLabel11 QRLabel12 ...
의 형태로 퀵리포트를 구성하고
procedure Tform2.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
begin
if count <= Form1.Grid1.RowCount - 1 then begin
MoreData := true;
end else begin
MoreData := false;
end;
if Not MoreData Then
count := 0;
end;
procedure Tform2.FormCreate(Sender: TObject);
begin
count := 0;
end;
procedure Tform2.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
with form1.Grid1 do begin
QRLabel1.Caption := cells[0, count];
QRLabel2.Caption := cells[1, count];
...
QRLabel11.Caption := cells[11, count];
QRLabel12.Caption := cells[12, count];
...
end;
inc(count);
end;
의 형태로 코딩하였습니다.
근데 preview 폼이 뜨며 연결은 되는데, 각 서브디테일밴드에 나타나야할
form1에서의 스트링그리드 값들이 나타나지 않습니다.
물론 form2의 QRLabel들도 아예 나타나지 않네요.(enable 이 true 상태인데도...)
form1의 스트링그리드는 하나이지만 column 이 너무 길어서 디테일밴드는 둘로 나눠져야
하는데 그 방법좀 가르쳐 주십시오. 물론 DB로 연결되지는 않습니다.
> Detail
> -------------------------
> Group Header
> -------------------------
> Sub Detail QRLabel1 QRLabel2 ...
> -------------------------
> Group Header
> -------------------------
> Sub Detail QRLabel11 QRLabel12 ...
>
> 의 형태로 퀵리포트를 구성하고
>
>
> procedure Tform2.QuickRep1NeedData(Sender: TObject;
> var MoreData: Boolean);
> begin
> if count <= Form1.Grid1.RowCount - 1 then begin
> MoreData := true;
> end else begin
> MoreData := false;
> end;
> if Not MoreData Then
> count := 0;
> end;
>
> procedure Tform2.FormCreate(Sender: TObject);
> begin
> count := 0;
> end;
>
> procedure Tform2.QRBand1BeforePrint(Sender: TQRCustomBand;
> var PrintBand: Boolean);
> begin
> with form1.Grid1 do begin
> QRLabel1.Caption := cells[0, count];
> QRLabel2.Caption := cells[1, count];
> ...
> QRLabel11.Caption := cells[11, count];
> QRLabel12.Caption := cells[12, count];
> ...
> end;
> inc(count);
> end;
>
> 의 형태로 코딩하였습니다.
> 근데 preview 폼이 뜨며 연결은 되는데, 각 서브디테일밴드에 나타나야할
> form1에서의 스트링그리드 값들이 나타나지 않습니다.
> 물론 form2의 QRLabel들도 아예 나타나지 않네요.(enable 이 true 상태인데도...)
> form1의 스트링그리드는 하나이지만 column 이 너무 길어서 디테일밴드는 둘로 나눠져야
> 하는데 그 방법좀 가르쳐 주십시오. 물론 DB로 연결되지는 않습니다.
>
>
QuickReport의 NeedData이벤트는 DetailBand에 찍을 데이터에 대한거구요..
각 SubDetailBand에 보면 OnNeedData이벤트가 있습니다.
각각 SubDetailBand의 OnNeedData이벤트에도 QuickReport의 NeedData이벤트처럼
코딩을 해주시구요.
각SubDetailBand의 BeforePrint이벤트에서 해당하는 Form의 StringGrid의 값을
Assign하는 코딩을 합니다.