Q&A

  • TListView 를 QReport 로 출력시 문제점
안녕하세요. 길인호입니다.

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 이 안 나올까용...







0  COMMENTS