배열의 값을 퀵리포트로 찍고 싶은데요... 잘 안돼내요....
예를 들어서요
with query1 do
begin
Close;
Sql.Clear;
Sql.Add('Select * from account');
Open;
First;
if RecordCount > 0 then
begin
i := 0;
setlength(wert,RecordCount,3);
while not Eof do
begin
xQRLabel[i,0]:= TQRLabel.Create(Self);
//xQRLabel[i,0].Parent :=self;
wert[i, 0] := FieldByName('ym').AsString;
wert[i, 1] := FieldByName('k0').AsString;
wert[i, 2] := FieldByName('k9').AsString;}
inc(i);
Next;
end;
try
//QuickReport2.stringGrid:= wert;
//QuickReport2.QRLabel1.Caption[i]:= wert[i,0];
//QuickReport2.QRLabel2.Caption[i]:= wert[i,1];
//QuickReport2.QRLabel3.Caption[i]:= wert[i,2];
QuickReport2.Preview;
finally
xQRLabel[i,0].Free;
QuickReport2:= nil;
end;
end;
end;
위을 보기처럼요 ....query로 select한 값을요.. 배열에 집어넣고 ,,, 그 값을 퀵레포드의 라벨에 찍고 싶은 데요,, 제대로 되지 않습니다... 초보여서요..... 도와 주세요...
일단은 아래와 같은 작업은 디테일부부분에 넣으면 될텐데..
그부분이 아닌곳에 찍고 싶으시다면....
찍으려시는 밴드에 beforeprint 이벤트에서 아래를 처리해주시면 될것같습니다.
약간의 수정은 필요하겠죠..여러 레코드를 찍으시려면 적당한 크기의
QRMEMO 컴퍼넌트를 세개 올려주시고 줄바꾸면서 넣어주시면 될듯
for i := 0 to Query1.RecordCount do
begin
QRMemo1.Lines.Add(Query1.FieldByName('ym').AsString + #13#10;
QRMemo2.Lines.Add(Query1.FieldByName('k0').AsString + #13#10;
QRMemo3.Lines.Add(Query1.FieldByName('k9').AsString + #13#10;
end;
이렇게 넣어주면 뒤지 않을까요?? 이걸원하신지 모르겠네요..