Bonjour
Je teste ma première application basée sur une base de donnée (SQLite).
Tout s'articule entre des datagridview bindés à des datatables qui sont remplis à partir de tables de la bdd.
Si modification, je modifie le datagrid view, ça se répercute dans la datatable et ensuite je demande l'enregistrement en BDD.
Si ajout ou suppression, j'ajoute ou supprime directement en bdd et je recharge de suite les datatables.
Aujourd'hui je me rends compte que l'ergonomie du truc est horrible si l'utilisateur ne peut pas annuler ses modifications et je n'arrive pas à trouver comment organiser une telle annulation de la dernière frappe (Ctr-Z).
Tant que l'utilisateur n'a pas enregistré ses modifications (datatable pas enregistré en Bdd) il peut les annuler d'un bloc en rechargeant le contenu de la table. mais si on veut revenir en arrière sur un enregistrement en bdd, sur une suppression d'enregistrement ou plus finement sur les modifications control par control dans un formulaire, comment fait-on ?
Tout ce que j'imagine reviendrait à gérer X datatables (par exemple dans un List<DataTable>, autant que de niveau de retour en arrière, et donner à l'utilisateur la possibilité d'enregistrer en Bdd telle ou telle ancienne version des datatables.
Ce serait une bonne approche ? ou je suis dans l'usine à gaz qui peut être remplacé par la class .net.ClassQueJAuraisDuMeDouterQElleExiste.restoreLastModif(indexModif)
Merci par avance pour vos avis et conseils
Partager