Das meinte ich auch mit mal so eben hingekritzelt und keine bis ins allerfeinste ausgeklügelte Lösung, sondern ein Ansatz, wie man es lösen kann.
Löschen, anfügen ist auch kein Problem das zu erweitern (anfügen ist etwas mehr Aufwand).
Löschen:
Im ViewModel einfach eine procedure Delete rein.
In der procedure zur entsprechenden Zeile im DataSet gehen und den Datensatz löschen.
In der View ruft man dass dann wie folgt auf:
Delphi-Quellcode:
procedure TMain_View.Delete_ButtonClick( Sender : TObject );
begin
ViewModel.Delete;
LoadFromModel;
end;
Für das Anfügen müsste man ein Flag im ViewModel setzen, dass man aktuell beim Anfügen ist (weil ja jetzt eine Zeile mehr als im DataSet vorhanden ist).
Aber viel mehr ist das auch nicht, die Basics sind da.
Und beim Post im ViewModel muss man dann eben die Daten per Append an das DataSet anhängen.