Sur closequery de la forme que j'ai:fort cxgrid (ou couleur) changé cellule sous forme closequery
if MessageDlg('Close program ?',
mtConfirmation, [mbYes,mbCancel],0) <> mrYes then CanClose := False
else if DataModule2.mytable.State in [dsEdit,dsInsert] then
if MessageDlg('Save changes ?', mtConfirmation,
[mbYes,mbNo],0) = mrYes then DataModule2.mytable.Post;
Est-il possible que je peux mettre en évidence (ou couleur) une cellule modifiée dans cxgrid lorsque je déclenche mon OnCloseQuery un événement ?
Je n'ai pas besoin de savoir ce qui a été changé, mais de savoir quelle cellule a été modifiée afin que l'utilisateur puisse la voir afin qu'il puisse facilement décider de la météo pour enregistrer les modifications ou non.
Je pense que vous devrez peut-être expliquer un peu plus complètement ce que vous essayez d'accomplir. Que faire si plusieurs colonnes de la même rangée ont été changées? Quand vous dites "changé", voulez-vous dire inclure les changements déjà enregistrés dans l'ensemble de données? Est-ce que votre dataset fait ApplyUpdates() s? – MartynA
Oui, je voudrais mettre en surbrillance chaque cellule de la rangée entière si elle a été changée. Ceci est avant l'événement post donc rien n'est encore enregistré. La grille est en mode [dsEdit, dsInsert]. Non, la base de données dos n'appelle pas applyupdates. – user763539
C'est la situation où l'utilisateur modifie la table, oublie de publier les modifications et essaie de fermer le formulaire. Donc, avant de fermer le formulaire (et de perdre toutes les données modifiées), il est bon de lui dire que les modifications qu'il a apportées à la table ne sont pas encore sauvegardées et lui indiquent (les cellules) qui ont été changées. Comprendre? Je pensais peut-être à colorier la cellule changée afin qu'elle soit facilement visible bien que le point culminant soit ok aussi. – user763539