首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问个datatable的有关问题,两个datarow操作

2012-02-06 
问个datatable的问题,两个datarow操作datatable dt 里有N多rowDataRow row1 dt.Select(xxx)DataRow row

问个datatable的问题,两个datarow操作
datatable dt 里有N多row
DataRow row1 = dt.Select(xxx);
DataRow row2 = dt.Select(xxx);

得到两个datarow
如何有效率的把row1删掉,并把row1插入到row2的后面位置?


[解决办法]
dt.Select(xxx); 返回的是个row数组。
DataRow[] rows = jigyoushoTable.Select("");
rows[0].Delete();
然后删除可以用delete试试
[解决办法]
DataRow row1 = dt.Select(xxx); 

Select()方法 返回的是一个row啊 弄错了吧

是返回一个DataRow [] 吧 

另外你要删除DataRow的话 直接将那个Row找出来 Delete()就可以了

如果要插入到指定行后,必须遍历了,貌似没有别的办法,不过插入的必须是一个新行

DataRow drNew = dt.NewRow();

drNew.ItemArray = dr.ItemArray;(那个取数据的行)

到了那个位置在执行dt.Add(dtNew);



[解决办法]
可以用DataTable.Rows的CopyTo方法和Remove方法
[解决办法]
if (this.DataSource.Rows[i] != row1) 
这么比较效率会低,你可以只比较主键,不用每个字段都比较
[解决办法]
要不可以先判断row1与row2 之间和与末尾的距离,如果row2与末尾近就可以用上面的方法,如果是row1与row2之间的距离近,就可以直接把row1和row2之间的row都移位.

热点排行