2010-11-04 15 views
0

我想在DataGridView.DataSource上实现一个通用的Linq查询来检索idField的行。我没有搜索MSDN,StackOverflow等,但没有找到我要找的东西。有没有人对我如何实现它有一个想法?对DataGridView数据源的通用Linq查询

这是非泛型的代码,但是我想让它适用于任何类型的DataSource(只要它实现IEnumerable,我猜)以及键字段的名称和类型。

Dim query = (From note In notesList _ 
      Where note.IdNote = mIdNoteSelectionne _ 
      Select note).FirstOrDefault() 

Dim ancienIndex As Integer = notesList.IndexOf(query) 

noteList是一个List(注),说明是我创建了一个简单的实体类,只有成员和属性

这是在VB中,但随时发送一些C#代码,我我会翻译它。

回答

1

不幸的是,你不能为任何数据源做到这一点。既然你试图比较一个ID字段,而不是每个对象都有的东西,你将无法做到。你需要做的是定义一个基类或者一个具有ID属性的接口。然后,您可以将数据源转换为基类的IEnumerable。使用linqs运算符。