DataView dv = new DataView(dt);
这里可以得到20行的数据
然后我删除dv只剩4行
for (Int32 i = dv.Count - 1; i > = 3; i--)
{
dv.Delete(i);
}
再用
DataView dv1 = new DataView(dt);
这时dv1就只有4行了
我没有删除dt的行啊.我只删除了dv的行
怎么办啊我dv1要怎么取得原有的dt的Dataview
谢谢
------解决方案--------------------------------------------------------
这个是间接删除了datatable中的数据.(看看数据类型方面的知识,引用类型,数值类型之间的区别就明白了)
你可以拷贝一个datatable 再用这个拷贝的去 new dataview (newDataTable)
------解决方案--------------------------------------------------------
你这样删除 实际是 删除了 引用的数据源的数据.
DataView dv = new DataView(dt.Copy());
------解决方案--------------------------------------------------------
你删除dv的数据会把它引用的datatable删除的
------解决方案--------------------------------------------------------
引用类型的数据问题.
你对DataView dv的操作实际上就是对dt做了操作