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:
Réponses:
0 pour la réponse № 1Le 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
).