Ansatz zur Handhabung von CRUD-Vorgängen mit zwei verwandten DataGridViews und der Schaltfläche „Änderungen speichern“.C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Ansatz zur Handhabung von CRUD-Vorgängen mit zwei verwandten DataGridViews und der Schaltfläche „Änderungen speichern“.

Post by Anonymous »

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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post