Q&A

  • 퀵레포트에 pagefooter에서 AfterPrint이벤트
 하나의 출력물을 만들기 위해 게시판에 열심히 글을 올렸나보다...

조회화면이야 어쨌든간에 많은 분들의 도움으로 출력물 완성을

눈앞에 두고 있습니다.

그런데 정말 엄청난 걸림돌이

소스먼저 보여 드리겠습니다

procedure TForm4.QRBand5BeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
begin
  ls_new_entp := DM.query5.Fieldbyname('entp_nm').AsString;
  ls_new_shop := DM.query5.Fieldbyname('shop_ctg_nm').AsString;
  ls_new_sales := DM.query5.Fieldbyname('sales_ctg_nm').AsString;

  if ls_old_entp = ls_new_entp then
     QRDBText48.width := 0
  else
     ls_old_entp := DM.query5.fieldbyname('entp_nm').AsString;

  if ls_old_shop = ls_new_shop then
     QRDBText49.width := 0
  else
     ls_old_shop := DM.Query5.fieldbyname('shop_ctg_nm').AsString;

  if ls_old_sales = ls_new_sales then
     QRDBText50.width := 0
  else
     ls_old_sales := DM.Query5.fieldbyname('sales_ctg_nm').AsString;

end;

procedure TForm4.QRBand5AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
  QRDBText48.width := 55;
  QRDBText49.width := 53;
  QRDBText50.width := 28;

  QRShape78.width := 0;
  QRShape77.width := 0;
  QRShape76.width := 0;

  QRShape118.width := 0;
  QRShape139.width := 0;
  QRShape140.width := 0;
  QRShape141.width := 0;
end;

procedure TForm4.PageFooterBand1AfterPrint(Sender: TQRCustomBand;
  BandPrinted: Boolean);
begin
  QRShape78.width := 58;
  QRShape77.width := 56;
  QRShape76.width := 32;

  ls_old_entp := '';
  ls_old_shop := '';
  ls_old_sales :='';
end;


end;

여기 나오는 변수들은 모두 전역으로 정의했구요

이렇게 하면 제 개인적인 생각엔 다음 페이지로 넘어갔을경우

entp_nm, shop_ctg_nm, sales_ctg_nm은 첫 row에 다시 나타나고

페이지에 맨 마지막 row에는 line이 다시 나타나야 하는데

첫row에 안나오고 두번째 row에 나오고 line도 그 밑에 나오고

혹시 소스보시고 이해 안되시면 첨부화일 보세요

보안관계상(ㅋㅋ) 출력물에 손 좀 되서 지저분합니다.

그러면 먼가 어색한 부분이 그게 문제죠..

그렇거든요

해결 방법 좀 없을까요

답변 부탁드립니다. 그럼 이만.




  
0  COMMENTS