[C#] DatagridView + ObservableCollection
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:
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:
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 :cry:
J'ai bien essayé d'ajouter :
Code:
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 :)