得到数据集过滤后的数据为数据表 [英] Get filtered data from dataset to datatable
问题描述
如何过滤数据从数据集数据表? 像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屋!