/ / Affichage d'une requête LINQ dans un DataGridView - c #, linq, datagridview

Afficher une requête LINQ dans un DataGridView - c #, linq, datagridview

Je ne parviens pas à afficher cette requête LINQ dans un dataGridview:

var result = from myrow in MydataTable.AsEnumerable()
where liste.Any(x => myrow.Field<string>("ID").ToUpper().Contains(x.ToUpper()))
select myrow;
MyGrigdView.DataSource = result.Tolist();

Sortie: entrer la description de l'image ici

Réponses:

0 pour la réponse № 1

Le problème est que le gridview a besoin d'un moyend’obtenir accès aux informations sur les colonnes disponibles pour lier efficacement les données. Si elle possède un objet avec des propriétés pour chaque colonne, elle peut fonctionner, mais vous n’avez pas cela. Si toute la collection implémente une interface donnée qui explique les colonnes et comment les obtenir, cela peut fonctionner. DataTable implémente une telle interface, IEnumerable<DataRow> ne fait pas. L’option la plus simple ici est susceptible de remettre toutes ces lignes dans un DataTable afin que la liaison puisse fonctionner. Il suffit de remplacer ToList avec CopyToDataTable (vous devrez peut-être ajouter un élément pertinent using).