Q&A

  • 퀵리포트 페이지 이동시 레벨값 변경
퀵레포트에서 동적으로 레벨을 생성해서 값을 넣습니다.

근데 페이지가 1일경우는 값이 잘나오느데 여러 페이지일 경우는 마지막값으로

모든값이 동일하게 나오네요..

보통 QDBText로 값을 출력하던데 전 QRLebel로 값을 출력할려고 하거든요..

여러페이지일 경우에도 QRLebel로 값을 출력하는게 가능할까요?

여러방법으로 시도해 봐도 안되네요,,도와주세요..
1  COMMENTS
  • Profile
    Marek 2006.02.06 22:38
    안녕하세요.
    QRLabel로 Detail레코드를 구현하려면 아래와 같이 하세요.
    QReport의 OnBeforePrint와 OnNeedData를 사용하시면 됩니다.
    아래코드 참조하십시요.

    public
       iRow : integer;
    ....

    procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    begin
       iRow := 0;   //iRow값 초기화
    end;

    procedure TForm1.QuickRep1NeedData(Sender: TObject;
      var MoreData: Boolean);
    begin
       if iRow <= (Form1.grdFindInsu.RowCount-1) then
       begin
          qlblNo.Caption := IntToStr(iRow+1);
          // Form2에 그리드값이 있을 경우
          qlblMat.Caption := Form2.grdFindInsu.Cells[0, iRow].AsString;
          qlblThick.Caption := Form2.grdFindInsu.Cells[1, iRow].AsString;
          qlblRealThick.Caption := Form2.grdFindInsu.Cells[2, iRow].AsString;
          qlblTC.Caption := Form2.grdFindInsu.Cells[3, iRow].AsString;
          qlblThermalK.Caption := Form2.grdFindInsu.Cells[4, iRow].AsString;
          Inc(iRow);   //iRow값 증가
          MoreData := True;
       end else
       begin
          MoreData := False;
       end;
    end;

    인쇄버튼에서 Preview해보세요

    즐거운 하루되십시요.   Marek입니다.