1
我想通过过滤现有的DataView来创建一个新的DataView,但是由于DataView没有.AsEnumerable()方法并且没有实现IEnumerable {DataRow},所以我遇到了麻烦。C#从DataView创建DataView
这里基本上是我想要完成的任务:
//Some table.
DataTable dt = new DataTable();
//Somewhere in here the table is given columns and rows...
//The first view shows some subset of the table.
//(This works fine.)
DataView dv1 = dt.AsEnumerable()
.Where(r => r.Field<int>("ID") < 1000)
.AsDataView();
//The second view should show a subset of the first view, but I cannot find the methods to do this.
//(This does not compile.)
DataView dv2 = dv1.AsEnumerable()
.Where(r => r.Field<int>("Salary") > 50000)
.AsDataView();
我想出迄今最好的事情是
DataView dv2 = dv1.ToDataTable().AsEnumerable()
.Where(r => r.Field<int>("Salary") > 50000)
.AsDataView();
这是丑陋,我猜效率低下。
从视图中制作视图的最佳方式是什么?
也可能是你问的问题薪水“)> 50000' – Jonesopolis
谢谢琼斯波利斯,这是我把一些实际上没有从源代码文件中复制过来的示例代码拼凑在一起的疏忽。 – JamesFaix