Q&A

  • 빠른답변 해주시길 부탁드립니다.[퀵레포트]
지금 프로그램 짠건 스트링그리드에서 퀵레포트로 출력해주는건데염....

예를 들어 스트링그리드에



월 화 수 목 금 토 일 합계

여자 1 1 1 1 2 1 1 8

남자 0 4 2 1 2 2 1 12

합계 1 5 3 2 4 3 2 20

이케 되있는걸염...

퀵레포트에.... 다음과 같이 나타낼려구하거든여....



월 화 수 목

여자 1 1 1 1

남자 0 4 2 1

합계 1 5 3 2

금 토 일 합계

여자 2 1 1 8

남자 2 2 1 12

합계 4 3 2 20



금 아래 소스를 어케 바꿔야하나여???







unit Unit2;



interface



uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ComCtrls, StdCtrls, Mask, ExtCtrls, QuickRpt, Qrctrls;



type

TForm2 = class(TForm)

report: TQuickRep;

QRBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

QRLabel9: TQRLabel;

QRShape1: TQRShape;

procedure reportBeforePrint(Sender: TCustomQuickRep;

var PrintReport: Boolean);

procedure reportNeedData(Sender: TObject; var MoreData: Boolean);

private

{ Private declarations }

rowno:integer;

public

{ Public declarations }

end;



var

Form2: TForm2;





implementation



uses Unit1;



{$R *.DFM}







procedure TForm2.reportBeforePrint(Sender: TCustomQuickRep;

var PrintReport: Boolean);

begin

rowno:=0;

end;



procedure TForm2.reportNeedData(Sender: TObject; var MoreData: Boolean);

begin

with frmsanalysis.sg do

begin

if rowno >= RowCount then

begin

MoreData := False;

end

else

begin

qrlabel1.Caption := Cells[ 0,rowNo];

qrlabel2.Caption := Cells[ 1,RowNo];

qrlabel3.Caption := Cells[ 2,RowNo];

qrlabel4.Caption := Cells[ 3,RowNo];

qrlabel5.Caption := Cells[ 4,RowNo];

qrlabel6.Caption := Cells[ 5,RowNo];

qrlabel7.Caption := Cells[ 6,RowNo];

qrlabel8.Caption := Cells[ 7,RowNo];

qrlabel9.Caption := Cells[ 8,rowNo];

end;

if RowNo < RowCount then

MoreData := True

else

begin

MoreData := False;

end;

Inc(RowNo);

end;



end;



end.

0  COMMENTS