Q&A

  • [퀵레포트]이거 제발 답변해주세염...ㅜㅜ
전에 질문했는데 답변이 없어어염....



지금 퀵레포트의 디테일 벤드에

QRLabel1 QRLabel2 QRLabel3 QRLabel4 QRLabel5 QRLabel6 QRLabel7 QRLabel8 QRLabel9 이케 되있는데염.....

지금 프로그램 짠건 스트링그리드에서 퀵레포트로 출력해주는건데염....

예를 들어 스트링그리드에



월 화 수 목 금 토 일 합계

여자 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



아래는 그냥....스트링그리드에 있는 고대로로 출력하게하는데염...

스트링 그리드의 colcount가 5개까지만....

먼저찍어주구...다음부터는 5개항목을 다 찍어주구난다음에 찍어주게 위같이 할려구하거든여....

근데 아래 소스를 어케 해야할지 모르겠어염....

부탁합니다...제발....답변주세염....

위에 디테일 벤드는 어케 수정해야하나여?

디테일벤드를 밑에 하나 더 만들어서.... 돌려봤더니....

밑에꺼만 찍히더라구염...왜그러져????



방법이 없나여????





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.

1  COMMENTS
  • Profile
    bibic 2001.09.06 21:23
    변수를 하나 선언하셔서 스트링그리드를 두번 참조함면 되겠네여...

    더 좋은 방법이 있는진 모르겠구여...

    아래 참조해보세여...^^



    =================================================================================

    procedure TForm2.QuickRep1BeforePrint(Sender: TCustomQuickRep;

    var PrintReport: Boolean);

    begin

    rowno := 0;

    dataEnd := False; //변수 선언해 주시구여...

    end;



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

    begin

    with form1.StringGrid1 do

    begin

    if (rowno >= RowCount) and dataEnd then //여기서 체크해서 끝내세여....

    begin

    MoreData := False;

    end

    else

    begin

    if not dataEnd then //스트링그리드 처음 참조할때

    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];

    end

    else //스트링그리드 두번째 참조할때

    begin

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

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

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

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

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

    end;

    end;



    if RowNo < RowCount then

    begin

    MoreData := True;

    Inc(RowNo);

    end

    else if not dataEnd then //스트링그리드를 한번다 참조했으면 dataEnd 변수바꾸고

    begin //rowno를 초기화시키세여...

    MoreData := True;

    dataEnd := True;

    RowNo := 0;

    end;

    end;

    end;



    ==================================================================================



    노력중인 초보 wrote:

    > 전에 질문했는데 답변이 없어어염....

    >

    > 지금 퀵레포트의 디테일 벤드에

    > QRLabel1 QRLabel2 QRLabel3 QRLabel4 QRLabel5 QRLabel6 QRLabel7 QRLabel8 QRLabel9 이케 되있는데염.....

    > 지금 프로그램 짠건 스트링그리드에서 퀵레포트로 출력해주는건데염....

    > 예를 들어 스트링그리드에

    >

    > 월 화 수 목 금 토 일 합계

    > 여자 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

    >

    > 아래는 그냥....스트링그리드에 있는 고대로로 출력하게하는데염...

    > 스트링 그리드의 colcount가 5개까지만....

    > 먼저찍어주구...다음부터는 5개항목을 다 찍어주구난다음에 찍어주게 위같이 할려구하거든여....

    > 근데 아래 소스를 어케 해야할지 모르겠어염....

    > 부탁합니다...제발....답변주세염....

    > 위에 디테일 벤드는 어케 수정해야하나여?

    > 디테일벤드를 밑에 하나 더 만들어서.... 돌려봤더니....

    > 밑에꺼만 찍히더라구염...왜그러져????

    >

    > 방법이 없나여????

    >

    >

    > 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.