D'après ce que j'ai appris, vous ne pouvez pas convertir en BindingList, mais vous pouvez envelopper votre résultat de la requête Linq avec une NOUVELLE BindingList. Cependant, cela ne fonctionne pas pour moi, parce que ma liste de liaison d'origine a des événements qui s'y rattachent et je voudrais maintenir les mêmes événements dans mon ensemble de résultats LINQ.Puis-je transmettre un résultat de requête LINQ à BindingList <T>?
Par exemple:
J'ai ma principale collection de BindingList appelé "Rapports" (de type IReport). Cette collection est enregistrée dans un événement comme suit: Reports.AddingNew + = OnAddNewXReport;
maintenant, quand je voudrais filtrer cette grande collection et extraire seulement quelques éléments assortis, j'utilise Linq pour obtenir cette liste correspondante. Pour cette liste un BindingList, i nouveau pour effectuer les opérations suivantes:
var rs = Reports.Where(r => r.ReportType == ReportType.MyType).Select(o => (MyType) o);
return new BindingList<MyType>(rs.ToList());
Comme vous pouvez le voir, cette collection nouvellement créée, ne se déclenche pas lorsque nouvel élément est ajouté.
Est-ce que quelqu'un a une idée de la façon de résoudre ce problème? existe-t-il de toute façon pour fermer l'abonnement à l'événement de BindingList d'origine à BindingList "filtré"?
Merci pour l'aide
peut vous pouvez ou pouvez vous ne pouvez pas? ;-) –