In einer C#-Desktopanwendung habe ich zwei verwandte DataGridViews (dgvAlgorithm und dgvParameter) und eine Schaltfläche zum Speichern von Änderungen (btnSave). Beide DataGridViews beziehen sich auf drei Tabellen: (Algorithmus, Parameter, algorithm_parameter). Wenn auf einen Algorithmus geklickt wird, werden seine Parameter und Eigenschaften (ID, Name, Typ) geladen.
Ich möchte die notwendigen Ereignisse für CRUD-Aktionen sowohl für Algorithmen als auch für Parameter verarbeiten, damit alle Änderungen vorgenommen werden können, aber erst wirksam werden, wenn auf „Speichern“ geklickt wird. Wie soll ich das angehen?
Meine Idee bisher ist, BindingLists zu erstellen, damit ich Feldwertänderungen steuern kann, wenn sie direkt in den DataGridViews geändert werden. Ich verwende das dgv row_validated-Ereignis: Wenn ich neue Datensätze erstelle, setze ich id = 0 (sie sind noch nicht in den Datenbanktabellen vorhanden). Wenn sie geändert werden, behalten sie dieselbe ID. Aber als ich Datensätze löschte, habe ich ihre ID = -1 gesetzt, um zu wissen, dass ich sie löschen sollte. Dieser letzte Teil ändert jedoch nur die ID und der Datensatz erscheint weiterhin in der DataGridView, was ich nicht möchte (wenn ich einen Datensatz in der DataGridView lösche, auch nur vorübergehend, möchte ich nicht, dass er in der DataGridView angezeigt wird, und wenn ich ihn auf -1 setze, wird er nur für die zukünftige Löschung markiert, aber nicht aus der DataGridView entfernt).
Irgendwelche Ideen? Ein anderer Ansatz, der korrekter wäre? Vielen Dank im Voraus für Ihre Zeit.
Ansatz zur Handhabung von CRUD-Vorgängen mit zwei verwandten DataGridViews und der Schaltfläche „Änderungen speichern“. ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version