ListView Problem
-
Hallo Forum
Also folgender Source (SDI-Anwendung, CListView als View-Klasse)
void CLagerlisteView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/) { CLagerlisteDoc* pDoc = GetDocument(); CLagerListeSet* pSet = pDoc->GetRecordset(); int nListPos; GetListCtrl().DeleteAllItems(); if(!pSet->IsOpen()) { pSet->Open(); pSet->Requery(); } else { pSet->Requery(); } for(pSet->MoveFirst(); !(pSet->IsEOF()); pSet->MoveNext()) { CString strId; strId.Format("%ld", pSet->m_id); CString strEinzelpreis = "€"; strEinzelpreis += pSet->m_einzelpreis.Left(pSet->m_einzelpreis.GetLength()-2); nListPos = GetListCtrl().InsertItem(0, "a"); GetListCtrl().SetItemText(nListPos, 0, _T(pSet->m_bezeichnung)); GetListCtrl().SetItemText(nListPos, 1, _T(pSet->m_kurzbezeichnung)); GetListCtrl().SetItemText(nListPos, 2, _T(pSet->m_norm)); GetListCtrl().SetItemText(nListPos, 3, _T(pSet->m_lieferant)); GetListCtrl().SetItemText(nListPos, 4, _T(pSet->m_statistik)); GetListCtrl().SetItemText(nListPos, 5, _T(pSet->m_gruppe)); GetListCtrl().SetItemText(nListPos, 6, _T(pSet->m_menge)); GetListCtrl().SetItemText(nListPos, 7, _T(strEinzelpreis)); GetListCtrl().SetItemText(nListPos, 8, _T(pSet->m_einkaufsdatum)); } }Nun habe ich folgendes Problem:
Beim Start der Anwendung wird mir nur die Spalte "Bezeichnung" aufgefüllt.
Um die ganze Liste aufzufüllen, muss ich z.B.: eine Menünachricht über schreiben in der ich die Funktion Requery() der Recordset-Klasse aufrufe.In der Doc-Klasse wird eine Instanz der Recordset-Klasse am Heap angelegt, und im Konstruktor der Doc-Klasse geöffnet.
Wie kann ich die ganze Liste schon beim start der Anwendung auffüllen?
mfg, Jover