안녕하세요. 길인호입니다.
QReport사용시 문제점이 생겨서... 질문을 올립니다.
여러고수님들의 마는 도움을 부탁드립니다.
TListView의 내용을 QReport로 출력시 ListView의 마지막 행(Item)이
출력되지가 않습니다. 이리저리 해 보아도, 꼭 ListView의
마지막 Item이 출력되지 않네요... 거참!!!
QReport의 디자인은 다음과 같고요,
-------------------------------------------------
[QRL_TITLE]
"TITLE BAND"
-------------------------------------------------
[QRL_Name] [QRL_Date] [QRL_BIGO]
"DETAIL BAND"
-------------------------------------------------
[#PAGE]
"PAGE FOOTER"
-------------------------------------------------
소스는 다음과 같습니다.
// QReport 디자인 폼
TMyForm = class(TForm)
...
private
{ Private declarations }
m_nRowCnt: Integer; // Count 변수 선언
public
{ Public declarations }
m_LV: TListView; // 출력할 ListView
end;
// 이 함수를 호출하여 QReport를 가동..........
procedure ReportCreate(sTitle:string; LV: TListView{출력할 ListView})
begin
with TMyForm.Create(Application.MainForm) do
try
m_LV:= LV;
QRL_Title.Caption:= sTitle;
QuickRep1.PreView;
finally
Free;
end;
end;
// QReport 의 BeforePrint 이벤트에서 m_nRowCnt 초기화
procedure TMyForm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
m_nRowCnt:= 0;
end;
// OnNeedData 정의
procedure TfrmRptPkgList.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
var
LI: TListItem;
begin
if m_nRowCnt < m_LV.Items.Count then
begin
LI:= m_LV.Items[m_nRowCnt];
QRL_Name.Caption:= LI.Caption; // 작성자
QRL_Date.Caption:= LI.SubItems[0]; // 작성날짜
QRL_Bigo.Caption:= LI.SubItems[1]; // 비고사항
end;
Inc(m_nRowCnt);
MoreData:= m_nRowCnt < m_LV.Items.Count;
end;
이상입니다.
흑흑~~ 소스는 간단해서리 문제 될것이 없어보이는데.............
왜... 마지막 ListItem 이 안 나올까용...