得到数据集过滤后的数据为数据表 [英] Get filtered data from dataset to datatable

查看:210
本文介绍了得到数据集过滤后的数据为数据表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何过滤数据从数据集数据表? 像code - >

How can I filter data from dataset to datatable? like the code->

DataRow[] dr = DS.Tables[0]
    .Select("STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL");        

我如何使用数据表吗?

How can I use datatable here?

以下code不`吨反映出的变化 - >

following code doesn`t reflect changes->

DataTable FilteredDataD = DS.Tables[0];
if (FilteredDataD.Rows.Count > 0) {
    FilteredDataD.DefaultView.RowFilter = "STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL";
    FilteredDataD.DefaultView.ToTable();
}

时可以除去使用上述过滤器的柱,如STAGENAME ='发展'与DEVLAPSEDAYS IS NOT NULL+ FilteredDataD.column(COL_NAME)... 假设我有5列只显示4,我不能老是从我query.Is有没有办法删除COL_NAME?

Is is possible to remove a column using above filter,like "STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL" + FilteredDataD.column("col_name")... Suppose I have 5 columns display only 4,I can`t remove col_name from my query.Is there a way?

回复

推荐答案

尝试使用LINQ来代替:

Try using LINQ instead:

var table = DS.Tables[0].AsEnumerable().Where(
    r => r.Field<string>("STAGENAME") == "Develop" && r.Field<int?>("DEVLAPSEDAYS").HasValue).AsDataView().ToTable();

修改更改 AsDataView AsDataView()的语法准确性。
修改提供的.NET 2.0兼容的解决方案

EDIT Changed AsDataView to AsDataView() for syntactical accuracy.
EDIT Provided .NET 2.0 compatible solution

DataTable table = DS.Tables[0];
if (table.Rows.Count > 0)
{
    table.DefaultView.RowFilter = "STAGENAME = 'DEVELOP' AND DEVLAPSEDAYS IS NOT NULL";
    table = table.DefaultView.ToTable(); 
}

这篇关于得到数据集过滤后的数据为数据表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆