J'ai un DevExpress TcxGrid, avec un gestionnaire d'événements attaché à l'événement OnEditValueChanged de son GridView qui est censé résumer certaines données dans l'une des colonnes. Le problème est que cet événement est déclenché pendant la validation, avant que la valeur mise à jour ait été écrite dans le jeu de données sous-jacent. Je ne connais pas trop le TcxGrid. Est-ce que quelqu'un sait s'il existe un moyen de déclencher un gestionnaire d'événements après l'ensemble de données a été mis à jour?Comment puis-je déclencher un gestionnaire d'événements après la modification d'une valeur dans un TcxGrid?
Répondre
Qu'en est-il de l'utilisation de l'événement DataSource.OnDataChange?
Utilisez-vous le cxTableView ou cxDBTableView dans le cxGrid
si vous utilisez le cxDBTableView alors vous définissez votre événement dans le datasource.onchange de la source de données liée à la propriété du cxDBTableView. (cxDBTableView .datacontroller.datasource)
J'irais avec skamradt: cherchez plus attentivement un événement qui correspond à vos attentes.
Sinon, vous pouvez brancher votre événement après s'être assuré que vos données sont initialisés:
procedure TMyGrid.MyProc_OnDataLoaded(Sender : TObject); //I made up this event, I'm not sure it exists
begin
Self.OnEditValueChanged := MyProc_OnEditValueChanged;
end;
Je vous conseille fortement de ne pas utiliser cela comme une Habitude régulière Developping (faire un événement définir un autre rappel par le code est un moyen sûr de déboguer l'enfer), mais si vous ne trouvez vraiment pas d'autre moyen de le faire ...
Je ne sais pas si c'est exactement ce dont vous avez besoin, mais j'ai trouvé l'option ImmediatePost de la grille est très utile pour les situations où j'ai besoin de mettre à jour un résumé - il est enterré sous sa propriété Data Controller de la cxView. Cela fait que la grille agit comme une feuille de calcul - dès que l'utilisateur appuie sur Entrée ou sur Tab dans une cellule, l'enregistrement est affiché. Ensuite, j'aurais peut-être mon feu d'événement résumant de l'événement AfterPost de l'ensemble de données, peut-être?
(Vous le savez probablement déjà mais le gridview lui-même a beaucoup d'options de résumé très utiles intégrées - regardez les propriétés de résumé des colonnes, et assurez-vous que ShowFooter est défini sur true dans ViewOptions - donc si votre résumé est un total relativement simple ou moyenne ou similaire, laissez la grille tout faire et économisez-vous du travail.)
Un simple résumé ne fonctionnera pas. J'aime l'idée de ImmediatePost, cependant. Je vais vérifier quand j'arriverai à travailler ce matin et voir si ça fait ce dont j'ai besoin. –
Non. Il s'avère que cela ne le fait pas poster avant que le gestionnaire d'événements se déclenche. –
- 1. Modification de Thread.CurrentThread.CurrentCulture sur un gestionnaire ASHX
- 2. Comment déclencher une modification dans JQuery?
- 3. Modification de la valeur d'un nœud dans un TreeView asynchrone
- 4. jQuery ne peut pas déclencher de modification après la mise à jour DOM
- 5. jQuery/Javascript - Comment déclencher un événement lorsque la valeur d'un bouton est modifiée?
- 6. comment faire un clic ou un double clic sur un mot sur une page Web pour déclencher un gestionnaire d'événement?
- 7. Attendre x millisecondes après un événement, revérifier et déclencher
- 8. Comment déclencher un événement dans un module PerlNet?
- 9. Paramètre Jeditable valeur sélectionnée par défaut après modification
- 10. Modification de la valeur NumberConstants.decimalSeparator()
- 11. Modification de la valeur d'un NSNumber
- 12. Comment puis-je déclencher un ModalPopupExtender en fonction de la valeur d'un DropDownList?
- 13. Comment créer un gestionnaire d'événements pour ma classe
- 14. Quand un DropDownList conserve-t-il la valeur de la publication au gestionnaire d'événements SelectedIndexChanged
- 15. registerClientScriptBlocage dans un gestionnaire personnalisé?
- 16. Comment déclencher un événement en utilisant addHandler
- 17. Récupérer DataItem à partir de RepeaterItem après la liaison de données (pendant un gestionnaire d'événements)
- 18. Enregistrer email après modification
- 19. jquery modification de la valeur de href
- 20. Modification de la valeur d'un JLabel à partir de la valeur d'un JSlider
- 21. Comment désenregistrer correctement un gestionnaire d'événements
- 22. Impossible d'interroger après la table de modification dans DB2
- 23. Comment déclencher un événement lorsqu'un clic se produit dans iframe?
- 24. Empêcher un TreeView de déclencher des événements dans VB6?
- 25. Comment puis-je déclencher un événement sur un BackgroundWorker mocké?
- 26. Puis-je déclencher un événement directement à partir du gestionnaire DoWork de BackgroundWorker?
- 27. Modification UITableViewCells dans un UITableView
- 28. Obtention de la valeur d'un DropDownList après une modification javascript côté client
- 29. Modification de la valeur d'un pointeur const
- 30. Récupération de la valeur d'un champ de formulaire après un événement keypress
C'était la seule idée qui a fonctionné. –