Bonjour,

J'utilise un ObservableCollection pour être notifié des changements dans ma bdd (j'utilise Linq to SQL).

J'ai déclaré la classe suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static class ObservableCollectionTools
    {
        public static ObservableCollection<TSource> ToObservableCollection<TSource>(this IEnumerable<TSource> source)
        {
            ObservableCollection<TSource> target = new ObservableCollection<TSource>();
 
            using (IEnumerator<TSource> enumerator = source.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    target.Add(enumerator.Current);
                }
            }          
            return target;
        }
    }
De plus, j'effectue un binding de la façon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
// Charge la table dans la source des bindings
mainBindingSource.DataSource = bdd.t_article.ToObservableCollection<t_article>();
 
// Configure la navigation
mainBindingNavigator.BindingSource = mainBindingSource;
 
// Configure la grille de données sur la même source que la source de navigation
mainDataGridView.DataSource = mainBindingNavigator.BindingSource;
Ca fonctionne pas mal sauf que je n'ai plus accès au tri dans mon datagridview

J'ai bien essayé d'ajouter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
// Charge la table dans la source des bindings
mainBindingSource.DataSource = bdd.t_article.ToObservableCollection<t_article>().ToList();
Mais ça ne change rien ...
Quelqu'un a une idée ?

Merci de votre aide