在DataGridView中显示LINQ查询

时间:2013-10-28 16:35:13

标签: c# linq datagridview

我在dataGridview中显示此LINQ查询时遇到问题:

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();

输出: enter image description here

1 个答案:

答案 0 :(得分:0)

问题在于gridview需要某种方式来访问有关哪些列有效绑定数据的信息。如果它有一个具有每列属性的对象,它可以工作,但你没有。如果整个集合实现了一个给定的接口,该接口解释了哪些列以及如何获取它们,那么它可以工作。 DataTable实现了这样的接口,IEnumerable<DataRow>没有。这里最简单的选项可能是将所有这些行放回DataTable,以便绑定可以起作用。只需将ToList替换为CopyToDataTable(您可能需要添加相关的using)。