Bonjour à tous,

J'affiches des objets dans une Datagrid à l'aide de RIA. Ces objets possèdent des champs qui sont modifiés à intervalles réguliers coté serveur à l'aide de procédures stockées ! Je voudrais afficher la modification de ces données en temps réel dans ma DataGrid, donc aujourd'hui j'ai un timer qui me permet de relancer la requête toutes les X secondes.

Le problème c'est qu'il considère à chaque fois que se sont de nouveaux objet(car je refais la même requête) je suis donc obligé de vider la DataGrid et de la re-remplir avec les nouvelles données à chaque fois, du coup je perd le selectedItem à chaque fois.

Y'aurait-il un moyen de seulement updater/actualiser ces données plutôt que de tout recharger à chaque fois ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
        DispatcherTime = new DispatcherTimer();
        DispatcherTime.Tick += new EventHandler(DispatcherTime_Tick);
        DispatcherTime.Interval = new TimeSpan(0, 0, time);
        DispatcherTime.Start();
 
        void DispatcherTime_Tick(object sender, EventArgs e)
        {
            LoadOperation = _dbContext.Load(_dbContext.GetObjectQuery(),
                _loadBehavior =>{
                    Datagrid.ItemsSource = _loadBehavior.Entities;
                },null);
        }