【问题标题】:Generic Linq query on a DataGridView DatasourceDataGridView 数据源上的通用 Linq 查询
【发布时间】:2010-11-04 14:58:46
【问题描述】:

我想在 DataGridView.DataSource 上实现一个通用的 Linq 查询,以检索带有 idField 的行。我确实搜索了 MSDN、StackOverflow 等……但没有完全找到我要找的东西。有谁知道我如何实施它?

这是非通用代码,但我想让它工作,无论 DataSource 的类型是什么(我猜只要它实现 IEnumerable)以及关键字段的名称和类型。

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

Dim ancienIndex As Integer = notesList.IndexOf(query)

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

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

【问题讨论】:

    标签: vb.net linq generics linq-to-objects


    【解决方案1】:

    很遗憾,您无法对任何数据源执行此操作。由于您试图与 ID 字段进行比较,但并非每个对象都有,您将无法进行比较。您需要做的是定义一个具有 ID 属性的基类或接口。然后,您可以将数据源转换为基类的 IEnumerable。使用 linqs Cast 运算符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-03
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多