这把我逼上了最近的墙。我有一个List<MyClass>
包含多个条目的对象(我们称之为 MyList),并且我有一个DataGridView
控件。我可以将控件的 DataSource 属性设置为 MyList。我得到了 MyList 中的所有元素,MyClass 对象的每个成员都有单独的列,非常好。如果我更改任何成员,然后我可以使用调试器查看 MyList 并查看更改的值。
但是假设 MyList 有 10,000 个条目,而我只想查看其中的 10 个。我可以使用 LINQ to Objects 来过滤列表,如下所示:
query = from myObect
in MyList
where SomeField == SomeGoodValue select new {myObject.SomeMember};
MyDataGridView.DataSource = query.ToList();
这显示了我想要的数据(好吧,在这种情况下,它选择每个对象的一个成员),但不能再编辑数据。
有什么方法可以将过滤后的列表放入 aDataGridView
中,并使视图控件可编辑?我正在收集由new
块生成的匿名类型的使用使得这不可能。那是对的吗?