C# 使用Linq查询Datagridview.行或数据集

C# 使用Linq查询Datagridview.行或数据集,c#,linq,datagridview,linq-to-dataset,C#,Linq,Datagridview,Linq To Dataset,我有一些问题。因为我对Linq没有太多经验,所以我无法理解如何查询我的datagridview(或者最好直接查询数据集)并在另一个datagridview上显示结果 这是我填写完整datagridview和数据集的地方: string icerikQuery = "SELECT * FROM [RRSelfServis].[dbo].[talimaticerikler] order by [kod] ASC, [percent] DESC"; //MessageBox.Show(icerikQu

我有一些问题。因为我对Linq没有太多经验,所以我无法理解如何查询我的datagridview(或者最好直接查询数据集)并在另一个datagridview上显示结果

这是我填写完整datagridview和数据集的地方:

string icerikQuery = "SELECT * FROM [RRSelfServis].[dbo].[talimaticerikler] order by [kod] ASC, [percent] DESC";
//MessageBox.Show(icerikQuery);

SqlDataAdapter icerikadapter = new SqlDataAdapter(icerikQuery, connection);
DataSet icerikSet = new DataSet();
icerikadapter.Fill(icerikSet, "Test_table_icerik");
dataGridView2.DataSource = icerikSet;
dataGridView2.DataMember = "Test_table_icerik";
这是我的查询部分:

dataGridView4.DataSource = from DataGridViewRow in dataGridView2.Rows
                              where rowView.Row.Field<string>("kod").Value.ToString() == SomeSearchStringVariable
                              orderby rowView.Row.Field<decimal>("percent") descending
                              select row;
dataGridView4.DataSource=来自dataGridView2.Rows中的DataGridViewRow
其中rowView.Row.Field(“kod”).Value.ToString()==SomeSearchStringVariable
orderby rowView.Row.Field(“百分比”)降序
选择行;
但目前我在
dataGridView2.Rows中遇到错误:

找不到源类型的查询模式的实现 “System.Windows.Forms.DataGridViewRowCollection.”找不到的地方。 考虑显式指定范围变量的类型。 “DataGridViewRow”

我的第一个选择是查询DataSet
icerikSet
,但datagridview也可以


提前感谢。

从要搜索的数据集中获取数据表,将其标记为可枚举,然后选择与搜索匹配的行

var query = from row in icerikSet.Tables[0].AsEnumerable()
            where row.Field<string>("kod").Equals(SomeSearchStringVariable)
            orderby row.Field<decimal>("percent") descending
            select row;

伟大的我能够实现这个愿望,做了一些小小的修改,工作得很有魅力。谢谢
DataTable dt = query.CopyToDataTable();
[...]