如何过滤数据从数据集数据表? 像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(); }更多推荐
得到数据集过滤后的数据为数据表
发布评论