1. QuickReport의 Dataset Property에는 아무것도 설정하지 않아야 합니다..
2. 적절히 Query를 만들어 필요한 Data를 조회하는 Sql문을 작성해야 합니다.
3. PageHeader, Detail, Summary등등.. 각종 Band를 열심히
QuickReport상에 배치시키고, 필요한 Label등을 Detail에 올려 놓습니다.
3. QuickReport의 OnNeedData에서
Moredata := True를 주어서..
출력될 해당 Row가 존재한다고 알려 줍니다..
1 Row를 출력할 내용을 어떻게 어떻게(Label등에 출력등등
Coding합니다..
물론, 출력된 수가 21개가 되면, Newpage를 호출합니다..
이게 끝이에염..
간단하져?
혹시 예를 바라십니까?
직접 Delphi에서 확인한것은 아니지만,
그 의미는 전달되리라 확신합니다...
Query1는 QuickReport.Create()부분뒤에
이미 Open한 후, 사용하시길..
그리고, QuickReport.Preview
뭐 하면..
아래의 OnNeedData Procedure를 타게 됩니다..
알고나면, 짜증나게 허망하지만,
여간 Coding하는게 귀찮아져서리..
님도 그렇게 생각하시는지..
꼭 한 Page에 몇개를 출력하라고 하는 사람들이 있어서..
좀 되는데로 보시징..
(이렇게 생각하면 않되겠졈? 헤헤 *^^* )
Procedure TQuickReport1.OnNeedData(MoreData: Boolean)
Begin
//pl_TotalRowCnt는 전역변수, 출력된 총 Row수를 가진다
If pl_TotalRowCnt = Query1.RecordCount Then역변수이며
Begin
Moredata := False; //출력할 Detail이 없다.
Exit;
End
else
Moredata := True; //"더 출력할 Detail이 있다"고 알려준다.
1. QuickReport의 Dataset Property에는 아무것도 설정하지 않아야 합니다..
2. 적절히 Query를 만들어 필요한 Data를 조회하는 Sql문을 작성해야 합니다.
3. PageHeader, Detail, Summary등등.. 각종 Band를 열심히
QuickReport상에 배치시키고, 필요한 Label등을 Detail에 올려 놓습니다.
3. QuickReport의 OnNeedData에서
Moredata := True를 주어서..
출력될 해당 Row가 존재한다고 알려 줍니다..
1 Row를 출력할 내용을 어떻게 어떻게(Label등에 출력등등
Coding합니다..
물론, 출력된 수가 21개가 되면, Newpage를 호출합니다..
이게 끝이에염..
간단하져?
혹시 예를 바라십니까?
직접 Delphi에서 확인한것은 아니지만,
그 의미는 전달되리라 확신합니다...
Query1는 QuickReport.Create()부분뒤에
이미 Open한 후, 사용하시길..
그리고, QuickReport.Preview
뭐 하면..
아래의 OnNeedData Procedure를 타게 됩니다..
알고나면, 짜증나게 허망하지만,
여간 Coding하는게 귀찮아져서리..
님도 그렇게 생각하시는지..
꼭 한 Page에 몇개를 출력하라고 하는 사람들이 있어서..
좀 되는데로 보시징..
(이렇게 생각하면 않되겠졈? 헤헤 *^^* )
Procedure TQuickReport1.OnNeedData(MoreData: Boolean)
Begin
//pl_TotalRowCnt는 전역변수, 출력된 총 Row수를 가진다
If pl_TotalRowCnt = Query1.RecordCount Then역변수이며
Begin
Moredata := False; //출력할 Detail이 없다.
Exit;
End
else
Moredata := True; //"더 출력할 Detail이 있다"고 알려준다.
QLabel1.Caption := Query1.FieldByName('ID').AsString;
QLabel2.Caption := Query1.FieldByName('NAME').AsString;
QLabel3.Caption := Query1.FieldByName('TEL').AsString;
Inc(pl_TotalRowCnt);
Query1.Next;
If (pl_TotalRowCnt Mod 20) = 0 Then NewPage;
End;
답이 되었길..
제가 이런 유형은 99년도에 이미 테스트를 많이 해 봤기 때문에
의미는 정확할 겁니다..
Coding이 Error가 날지는 모르겠지만..
어쨌뜬..
도움이 되셨길 바랍니다..