可能重复:
将过滤器应用于数据集时未在网格视图中显示数据
我有一个Dataset ds,其中包含表emp的内容,其中ename、pass、status作为属性。
我想使用 LINQ 查询数据集,以便它返回状态为“out”的记录
当我使用数据集时,它在数据表上使用时有效,数据不显示
请告诉我如何实现这一点。在此先感谢
可能重复:
将过滤器应用于数据集时未在网格视图中显示数据
我有一个Dataset ds,其中包含表emp的内容,其中ename、pass、status作为属性。
我想使用 LINQ 查询数据集,以便它返回状态为“out”的记录
当我使用数据集时,它在数据表上使用时有效,数据不显示
请告诉我如何实现这一点。在此先感谢
简单地使用它并将结果转换为list
:
首先添加对System.Data.Extensions.dll
(实现 LINQ over DataSet 支持的地方)的引用
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable orders = ds.Tables["SalesOrderHeader"];
var query =
from order in orders.AsEnumerable()
where order.Field<string>("status") == "out"
select order;
yourGridView.DataSource= query.ToList();
yourGridView.DataBind();
你也可以检查这个:
Binding LINQ query to DataGridView
OleDbDataAdapter da = new OleDbDataAdapter("select empname,pass,status from employees", conn);
DataSet ds1=new DataSet();
da.Fill(ds1,"emp");
var datasource = from r in ds1.Tables["emp"].AsEnumerable()
where r.Field<string>("status")=="out"
select new{empname=r.Field<String>("empname"),status=r.Field<string>("status")};
GridView1.DataSource = datasource;
GridView1.DataBind();
var query = from e in DS1.emp
where e.status == "out"
select e;
dataGridView1.DataSource = query.AsDataView();