Problem mit der CListCtrl



  • Habe ein Programm geschriben (SDI, CListView), das nach einem Datenbankzugriff, die Daten in ein CListCtrl schreiben soll. Die Daten wurden vorher in der Doc-Klasse in CStringarrays geschrieben. In der OnItitUpdate()-Funktion der View-Klasse habe ich die Spalten und die Styles der CListCtrl vordefiniert. Jetzt möchte ich die Daten aus der Doc-Klasse in die CListCtrl übernehmen. Wie geht das am besten???

    Danke.



  • das ListCtrl in der OnInitialUpdate füllen,
    oder direkt von ListCtrl ableiten, und dort mittels
    eines Zeigers auf dokument füllen, und evtl direkt updaten.

    Devil



  • Danke für die schnelle Antwort.

    Meinst du viellecht das:

    CListView::OnInitialUpdate();
    	CCdkeyDoc* pDoc = GetDocument();
    	CListCtrl& lCtrl = GetListCtrl();
    	lCtrl.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT );
    	lCtrl.InsertColumn(0, "No.", LVCFMT_LEFT, 30);
    	lCtrl.InsertColumn(1, "Name", LVCFMT_LEFT, 300);
    	ModifyStyle(NULL, LVS_REPORT, 0);
    
    	int i = lCtrl.InsertItem(pDoc->m_anzahl, "...");
    	lCtrl.SetItemText(i, 1, pDoc->m_element);
    

    Leider funktioniert das nicht. Ich glaube das liegt dadran, dass die Funktion OnInitialUpdate() vor dem Datenbankzugriff aufgerufen wird.


Anmelden zum Antworten