CComboBox



  • hallo,
    bin gerade beim schreiben einer personalverwaltung mit datenbankanbindung.
    nun will ich mitarbeiter löschen können.klappt auch alles in der datenbank.

    CComboBox * pMitarbeiterAuswahl;				
    pMitarbeiterAuswahl = (CComboBox *) GetDlgItem(IDC_COMBO_MitarbeiterloeschenAuswahl);
    
    CStatic * pPersonalgruppe;
    pPersonalgruppe = (CStatic *)GetDlgItem(IDC_STATIC_MitarbeiterloeschenMitarbeiterdatenPersonalgruppeanzeigen);
    
    CStatic * pPersonalnummer;
    pPersonalnummer = (CStatic *)GetDlgItem(IDC_STATIC_MitarbeiterloeschenMitarbeiterdatenPersonalnummeranzeigen);
    
    CStatic * pGeburtsdatum;
    pGeburtsdatum = (CStatic *) GetDlgItem(IDC_STATIC_MitarbeiterloeschenMitarbeiterdatenVornameanzeigen);
    
    int stelle=0;
    CString select = "";
    select = "select * FROM Mitarbeiter";
    CString sODBCName = "Personal";
    CDatabase dbPersonal;
    MitarbeiterTbl mitarbeiter(&dbPersonal);
    dbPersonal.Open(sODBCName);
    if(dbPersonal.IsOpen())
    {
          mitarbeiter.Open(CRecordset::snapshot,select);
    	if(mitarbeiter.IsBOF())
    	{
    	}
    	else
    	{
    		while(!mitarbeiter.IsEOF())
    	      {
    		      for(int i=0;i<pMitarbeiterAuswahl ->GetCurSel();i++)mitarbeiter.MoveNext();
    			mitarbeiter.Delete();
    			stelle++;
    			break;
    		}
    	}
    	dbPersonal.Close();
    }
    pPersonalgruppe->SetWindowText("");
    pPersonalnummer->SetWindowText("");
    pGeburtsdatum->SetWindowText("");
    pMitarbeiterAuswahl->SetCurSel(-1);
    

    den mitarbeiter lass ich mir über die combobox anzeigen.
    wenn ich den aber den löschen-button drücke,geht er zwar in ein leeres feld der combobox,aber der gelöschte name steht da noch drin.

    so,nun zu euch.muss ich da irgendwo ein Update oder so machen,damit die combobox aktualisiert wird???

    mfg
    fevernova



  • richtig UpdateData(FALSE) 😃



  • Oder SetCurSel(n) - blos was n ist musst du selber wissen... 🙂



  • und wo bitte???
    habs ausprobiert am ende und in der while-schleife. 😡



  • fevernova schrieb:

    und wo bitte???
    habs ausprobiert am ende und in der while-schleife. 😡

    und was hast du ausprobiert ?



  • Ich tippe mal darauf 😃 , dass das gesucht ist:
    CComboBox::DeleteString
    int DeleteString( UINT nIndex );



  • hab das jetzt so gemacht und es funzt.

    pMitarbeiterAuswahl->DeleteString(pMitarbeiterAuswahl->GetCurSel());
    

    dank an euch.
    mfg
    fevernova 👍


Anmelden zum Antworten