1

可能重复:
将过滤器应用于数据集时未在网格视图中显示数据

我有一个Dataset ds,其中包含表emp的内容,其中enamepassstatus作为属性。

我想使用 LINQ 查询数据以便它返回状态“out”的记录

当我使用数据集,它在数据表上使用时有效,数据不显示

请告诉我如何实现这一点。在此先感谢

4

3 回答 3

2

简单地使用它并将结果转换为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

于 2012-01-18T05:30:03.040 回答
0
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();
于 2012-01-19T04:26:09.377 回答
0
   var query = from e in DS1.emp

            where e.status == "out"


            select e;



dataGridView1.DataSource = query.AsDataView();
于 2012-01-18T04:57:42.740 回答