vb.net-DataTable中如果把想要的列存储到另一个新的DataTable中啊该如何处理
vb.net--DataTable中如果把想要的列存储到另一个新的DataTable中啊??
现在有一个DataTable里面有很多列(动态的列数不定)。我只想保留其中的2,3,5列该怎么样做啊??最好能给出具体代码。。试过RemoveAt(列号)循环删除不需要的列,可是我的列数不确定,有很多列,而且删第一列以后后面的每一列都会向前移一列,很麻烦的。。高手指点啊,最好能将2,3,5列拿出来放到一个新的DataTable中,用循环也行。
------解决方案--------------------
可以从后往前删呀
*****************************************************************************
欢迎使用****论坛专用阅读器 : **** Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
------解决方案--------------------
现在有一个DataTable里面有很多列(动态的列数不定)。我只想保留其中的2,3,5列该怎么样做啊??最好能给出具体代码。。试过RemoveAt(列号)循环删除不需要的列,可是我的列数不确定,有很多列,而且删第一列以后后面的每一列都会向前移一列,很麻烦的。。高手指点啊,最好能将2,3,5列拿出来放到一个新的DataTable中,用循环也行。
------解决方案--------------------
可以从后往前删呀
*****************************************************************************
欢迎使用****论坛专用阅读器 : **** Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
------解决方案--------------------
- VB.NET code
dim j as integer=0 For i as integer=0 to dt.Columns.Count-1 If i<>你要保留的索引号 And i<>你要保留的索引号 Then dt.Columns.RemoveAt(j) Else j+=1 End If Next
------解决方案--------------------
你可以看一下我的blog 那里面有东西可能能启发你一下
http://tb.blog.****.net/TrackBack.aspx?PostId=2046734
------解决方案--------------------
实际楼上说的没有错的,你可以从后面往前倒着删除,同样能保留你所要的列。
dim i_INT,j_INT as integer =dt.Columns.Count-1
dim dtable as new DataTable
For i_INT to 0 step -1
If i_INT<>你要保留的索引号1 And i_INT<>你要保留的索引号2 Then
dt.Columns.RemoveAt(j_INT)
Else
dtable.Columns.add(你要保留的索引号1)
dtable.Columns.add(你要保留的索引号2)
j_INT-=1
End If
Next