Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架浏览gataGridView_C#_Winforms_Entity Framework - Fatal编程技术网

C# 使用实体框架浏览gataGridView

C# 使用实体框架浏览gataGridView,c#,winforms,entity-framework,C#,Winforms,Entity Framework,我正在尝试使用Windows窗体学习实体框架。我的挑战是找到一个只显示那些包含searchTetbox文本的行的方法,但我找不到它。 到目前为止,我做的一件事是下面的代码(但我猜它根本不是EF…): 此代码在调试过程中没有错误,但每次搜索文本时,结果显示0行。我猜这是因为dgv.DataSource=bindingSource,它无法将bindingSource转换为DataTable 有没有办法解决这个问题? 如果它是EF的一部分,而不是LINQ或其他,那么它就是pro。你说得对-你的代码处理

我正在尝试使用Windows窗体学习实体框架。我的挑战是找到一个只显示那些包含searchTetbox文本的行的方法,但我找不到它。 到目前为止,我做的一件事是下面的代码(但我猜它根本不是EF…):

此代码在调试过程中没有错误,但每次搜索文本时,结果显示0行。我猜这是因为dgv.DataSource=bindingSource,它无法将bindingSource转换为DataTable

有没有办法解决这个问题?
如果它是EF的一部分,而不是LINQ或其他,那么它就是pro。

你说得对-你的代码处理的是数据表,而这不是EF。如果使用EF(一个通过搜索字符串筛选集合的非常简单的代码段),将类似于以下内容:

dataGridView1.DataSource = yourListOfPocos.Where(a => a.Name == searchString).ToList();

但是有很多关于这个主题的文章,只要试一下谷歌就可以了。

你说得对——你的代码处理的是数据表,而这不是EF。如果使用EF(一个通过搜索字符串筛选集合的非常简单的代码段),将类似于以下内容:

dataGridView1.DataSource = yourListOfPocos.Where(a => a.Name == searchString).ToList();
但是有很多关于这个主题的文章,只要用谷歌试试。

你可以试试这个

string Query = String.Format(@"({1} like '%{0}%' or {2} like '%{0}%')", txtBoxFind.Text.trim(),"ColumnName1","ColumnName2");
(dataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format(Query);
你可以试试这个

string Query = String.Format(@"({1} like '%{0}%' or {2} like '%{0}%')", txtBoxFind.Text.trim(),"ColumnName1","ColumnName2");
(dataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format(Query);

很好,如果我可以,我会给你+1(声誉太低):很好,如果我可以,我会给你+1(声誉太低):