Comment rafraîchir une Infragistics UltraGrid?
-
19-09-2019 - |
Question
J'utilise Infragistics UltraGrid avec datasouce de Windows Bindingsouce. Le changement, je fournis datasouce à Bindingsouce et appeler DataBinding de UltraGrid. Valeur dans le datasouce des changements Bindingsouce, mais qui ne se reflète pas dans le UltraGrid.
La solution
Votre source de liaison doit soulever un événement pour déclencher l'actualisation de la grille. Par exemple, si vous utilisez BindingList
il devrait déclencher l'événement ListChanged
.
Autres conseils
En outre, assurez-vous que quelle que soit la classe que vous utilisez comme objet de liaison implémente INotifyPropertyChanged de sorte que lorsque vous mettez à jour le BindingObject au moment de l'exécution, il se canalisé vers BindingSource qui obtient finalement repris par la grille.
i.e. .:
BindingList<Foo> lstItems = new BindingList<Foo>;
BindingSource bso = ;
bso.DataSource = lstItems;
Grid.DataSource = bso;
public class Foo : INotifyPropertyChanged
dépend également si vous changer la collection en dehors de la grille (à l'exécution, parce que si vous le faites, vous devez utiliser BindingList<T>
et l'affecter à BindingSource