CListCtrl auselen der Spalten
-
Hallo alle zusammen?
Ich möchte gerne die Spalten auslesen, und habe gehört es geht irgendwie mit CListCtrl allerdings finde ich dafür nicht die richtige Methode!
DIe Spalte habe ich fertig gekriegt, dort habe ich auch was eingetragen schon. Habe auch eine Editierbares CListCtrl erstellt.
Sieht wie Folgt aus:Kunde LieferNr Wohnort
Hans 1234 München
.... ..... ......
.... ..... ......
usw. usw. usw.Jetzt möchte einfach es auslesen können, was z.B. unter Wohnort steht und dieses Z.B. in ein String reinpacken können wenn es geht

-
als erstes must du dir die zeile (das Element) holen das markiert ist
das geht mitint nItem = CListCtrl::GetSelectionMark( );
danach gibt es zwei möglichkeiten
erstens die einfachere lösungint nSubItem = 0;//Erste spalte in der makierten zeile
CString sString = CListCtrl::GetItemText(nItem, nSubItem );somit würde jetzt Hans in sString stehn.
zweitens hier must du die anzahl der zeichen angeben die augelesen werden soll
int nLen = 5;
char szString[nLen];
CListCtrl::GetItemText( nItem, nSubItem, szString, nLen );auch hier würde wieder Hans in szString stehn.
bei zweitens ist die schwierigkeit zu wissen wieviel zeichen der sting beinhaltet gehst du über die anzahl der zeichen kann dies zum crash der anwendung führen
-
CString strItemText; for (unsigned int nItem = 0; nItem < m_wndListCtrl.GetItemCount(); ++nItem) { strItemText = m_wndListCtrl.GetItemText(nItem, 2); AfxMessageBox(strItemText); }Referenz:
CListCtrl::GetItemText(MFC)
-
Viel vielen Dank.
Es hat richtig gut geklappt

Sehr schoene Lösungen von euch beiden :)!Eine Frage noch kennt Ihr euch mit "Microsoft Acces" aus?
Ich muss jetzt diese Einträge die ich aus den Spalten auslese in die Microsoft Acces DB speichern können. Die Verbindung habe ich schon soweit aufgebaut zu der DB. Ich kann auch aus der Datenbank was auslesen und die Spalten reinschreiben.
Jetzt muss das ganze umgekehrt passieren. Und zwar mit der Klasse "RecordSet"
Da komme ich nicht weiter.
-
hmmm

Jetzt muss das ganze umgekehrt passieren. Und zwar mit der Klasse "RecordSet"
Da komme ich nicht weiter.versteh ich nicht wenn du schon auslesen und reinschreiben kannst in access wo liegt dann dein problem??
beschreib mal dein problem genauer bzw. code posten wo es hapert
-
Hi.
CString strItemText; for (unsigned int nItem = 0; nItem < m_wndListCtrl.GetItemCount(); ++nItem) { strItemText = m_wndListCtrl.GetItemText(nItem, 2); AfxMessageBox(strItemText); }Das ist der Code um die CListCtrl auslesen was dort drine Steht.
Bei mir Steht drine:Kunde LieferNr Wohnort Hans 1234 München .... ..... ...... .... ..... ...... usw. usw. usw.Das was in der CListCtrl drine steht wurde aus der Microsoft Access DB ausgelesen.
Jetzt will ich, dass was in der CListCtrl drine Steht ni die DatenBank reinschreiben können.
Dabei muss ich CRecordset Classe verwenden.
Da komme ich nicht weiter.
-
hab dir die antwort in deinem anderen thread CRecordSet Hilfe!!! gepostet