Dataset nicht im EditModus obwohl sein Status dsEdit liefert



  • Hallo Leute!
    Nach einer langjährigen C++ Pause stolpert man über so einige Steine und einer dieser Steine ist der folgende:

    Ich habe ein DBGrid in dem Konten und Salden korrekt angezeigt werden. Das Dataset heißt CDS_cuentasComp.Aus einem Treeview (TV_cuentas) möchte ich jetzt den jeweils ausgewählten Eintrag aus dem Treeview in eine entsprechende Spalte der ausgewählten (1..n) Zeile(n) des DBGrid kopieren.
    Beim Schreiben des Textes kommt es zur Fehlermeldung: "CDS_cuentasComp: Dataset not in edit or insert mode." obwohl ich den Modul explizit vorher setze und der status auch "2 /*dsEdit*/" liefert.
    Here comes the code (ButtonKlick):

    if (DBG_cuentasComp->SelectedRows->Count > 0) {
    		AnsiString treeViewCuenta = TV_cuentas->Selections[0]->Text;
    		datamodule->CDS_cuentasComp->Edit();  // Set Dataset to Edit Mode
    		DBG_cuentasComp->EditorMode = true;
    		TDataSetState status = datamodule->CDS_cuentasComp->State;
    		for (int i = 0;i <= DBG_cuentasComp->SelectedRows->Count-1; i++){
    
    			datamodule->CDS_cuentasComp->Bookmark = DBG_cuentasComp->SelectedRows->Items[i];
    			    datamodule->CDS_cuentasComp->FieldByName("CSAL_CUENTACONAC")->Text = treeViewCuenta;
    		}
    	}
    

    Btw.: Wie greife ich richtig auf die gewünschte Zelle der ausgewählten Zeile zu (über Bookmarks oder anderweitig) Liegt das Problem dort?
    Vielen Dank!


Anmelden zum Antworten