ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
885
885
EMPFEHLEN
-
Hi
Entwicklungsumgebung: MFC, WinXP Pro, Visual Studion NET
also ich hab eine List welche in der CListCtrl komplett angezeigt wird. Diese Liste besteht aus 2 verschieden Kategorie z.B. "Lebensmittel" und "Kosmetik".
So ich möchte wenn ich einen Eintrag in einer selektierbaren ComboBox "Lebensmittel" selektiere, alle Items in der CListCtrl gelöscht werden und nur die Items von der Kategorie "Lebensmittel" wieder eingefügt und angezeigt werden.
Beschreibung was passiert:
Die Artikel werden gelöscht aber die Items werden bein ersten mal nicht angezeigt und CListCtrl ist leer. Selektiere ich beim 2.ten Mal "Kosmetik" dann werden die "Lebensmittel" angezeigt. Selektiere ich dann "Lebensmittel" dann werden die "Kosmetik" Items angezeigt.
Das Problem
Nur bei der ersten selektion wird beim ersten mal alles gelöscht wird. Im groben und ganzen heisst es das jedesmal wenn ich in der ComboBox einen Eintrag auswähle wird immer die getätigte letzte Auswahl in der CListCtrl aufgelistet bzw. angezeigt wird. Erst wenn ich 2mal "Lebensmittel" selektiere ich erst beim 2ten mal die Liste der "Lebensmittel" angezeigt bekomme. Immer erst beim zweiten versuch.
Sozusagen ein Refresh problem. Gibts da irgendwas was ich noch aufrufen muss ? Habe die Anweisung in der Handler Funktion von der ComboBox geschrieben welche OnCbnSelchangeCombo1() heisst. Sie wird jedesmal aufgerufen wenn in der ComboBox ein Eintrag geändert bzw. aufgerufen wird.
Helft mir
Indian
-
02.07.04 13:27 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Hm, ich würde sagen, dass du da einfach irgendwo ein Problem im Ablauf deiner Logik hast und das dein Refreshproblem da seine Ursache hat. Ich kann dir da nicht weiterhelfen, ohne das Projekt und die Abläufe zu kennen.
Setzt du irgendwo die Selektionen von Liste oder Combo vom Code aus?Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
nein ich selektiere im Steuerelement von einer ComboBox welcher bei jeder Veränderung eine Funktion ausführt. Das komische ist ja das alle Items in der CListCtrl gelöscht werden aber nicht nach dem löschen wieder eingfügt werden sondern erst bei erneuter selektion die vorherige eingefügten Items angezeigt werden. Im Prinzip ist das nicht schwer jedoch ... kommt mir wie ein Bug vor.
Der Code der Funktion sieht so aus:
Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
void CListAllDlg::OnCbnSelchangeCombo1() { CDatabase db; CDBVariant value; char sql_statement [2048] = ""; CString m_ArticelNr="",m_ListCategory=""; CProducts m_pData(&db); strcpy(sql_statement,_T("SELECT * FROM products ORDER BY articel")); m_pData.Open(CRecordset::forwardOnly,sql_statement); GetDlgItemText(IDC_LISTCATEGORY,m_ListCategory); m_list_all.DeleteAllItems(); //delete all items first while(!m_pData.IsEOF()) //show selected items { if (strcmp(m_ListCategory,m_pData.m_category) == 0) { m_ArticelNr="?Later?"; m_list_all.AddItem(m_ArticelNr,m_pData.m_articel,m_pData.m_content,m_pData.m_price,m_pData.m_stock); }//end if m_pData.MoveNext(); }//end while db.Close(); }
Ich glaube nicht das hier was falsch. Bei jede Veränderung vom Steuerelement (ComboBox) wird diese Funktion ausgeführt. Nach meiner Meinung müsste ja alles auf einmal ausgeführt und angezeigt werden und nicht erst beim 2maligen auswählen der selektion in der ComboBox. CListCtrl wird ja refresht wenn alle Items in der CListCtrl (siehe oben in der Funktion kurz vor der while schleife) gelöscht werden, jedoch warum wird die CListCtrl nicht refresht nachdem alle Items eingefügt wurden ?Geändert von Indian (02.07.04 um 14:37 Uhr)
-
hab es sogar mit
MyListView.RedrawItems( int nFirst, int nLast );
versucht. Hat nicht geholfen. Ich versteh das nicht
Ähnliche Themen
-
Meine PHP session wird erst richtig nach dem klick auf aktualisieren angenommen
Von michi002 im Forum PHPAntworten: 6Letzter Beitrag: 28.03.09, 16:23 -
Mit PHP generiertes Bild aktualisiert sich erst bei F5 Taste
Von NTDY im Forum PHPAntworten: 7Letzter Beitrag: 07.12.08, 13:01 -
Wenn Formular aktualisiert wird soll das ganze Frameset aktualisiert werden
Von Tha_Joka im Forum PHPAntworten: 4Letzter Beitrag: 22.08.05, 12:47 -
Bild im Tab wird erst nach 5 Sek. angezeigt
Von gerritka im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 12.02.05, 20:53 -
cocoon: Seiten werden erst nach 'neuladen' aktualisiert
Von krit85 im Forum XML TechnologienAntworten: 1Letzter Beitrag: 17.12.04, 22:25





Zitieren
Login






