如何过滤数据集到数据表中的数据?
就像代码->
DataRow[] dr = DS.Tables[0]
.Select("STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL");
我如何在这里使用数据表?
以下代码不反映更改->
DataTable FilteredDataD = DS.Tables[0];
if (FilteredDataD.Rows.Count > 0) {
FilteredDataD.DefaultView.RowFilter = "STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL";
FilteredDataD.DefaultView.ToTable();
}
可以使用上面的过滤器删除列,例如“STAGENAME='Develop' AND DEVLAPSEDAYS IS NOT NULL”+ FilteredDataD.column(“col_name”)...
假设我有 5 列仅显示 4,我无法从查询中删除 col_name。有办法吗?
Reply
尝试使用 LINQ 代替:
var table = DS.Tables[0].AsEnumerable().Where(
r => r.Field<string>("STAGENAME") == "Develop" && r.Field<int?>("DEVLAPSEDAYS").HasValue).AsDataView().ToTable();
EDIT改变了AsDataView
to AsDataView()
为了语法的准确性。
EDIT提供.NET 2.0兼容解决方案
DataTable table = DS.Tables[0];
if (table.Rows.Count > 0)
{
table.DefaultView.RowFilter = "STAGENAME = 'DEVELOP' AND DEVLAPSEDAYS IS NOT NULL";
table = table.DefaultView.ToTable();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)