StringGrid geändert ?



  • Tag auch. Ich hab da mal eine Frage zum StringGrid. Bei einer Memo Komponente gibt es ja die Eigenschaft "Modified", womit ich überprüfen kann, ob der Inhalt geändert wurde oder nicht. Bei einem StrinGrid gibt es diese Eigenschaft leider nicht.

    Wie kann man aber dennoch prüfen, ob der Inhalt eines StringGrids geändert wurde ?

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     if(StringGrid1->Modified)
     ShowMessage("geändert !");
    }
    


  • Hallo

    indem du den Event TDrawGrid::OnSetEditText benutzt. Dort hast du im Parameter Value den neuen Wert, den alten Wert kannst du wie üblich aus Cells[ACol][ARow] auslesen. Wenn sich die Werte unterscheiden, setzt du eine Bool-Membervariable des entsprechenden Forms auf true.

    bis bald
    akari



  • Danke das is ne gute Idee... ich machs aber anders. Ich hab eine Bool Variable geschaffen, die ich am Anfang auf false setze. Wenn ich nun in der Tabelle was ablege oder einen Eintrag ändere, setze ich sie auf true, wenn ich die Daten manuell speichere wieder auf false.

    Beim OnCloseQuery des Forms wird das ganze dann ausgewertet und eine Möglichkeit zum abbrechen und speichern geboten.

    Danke dennoch für deine Idee ...


Anmelden zum Antworten