日期:2014-05-17  浏览次数:21011 次

datatable remove移除列问题。
public DataTable removeTable(DataTable dt ,string c1,string c2)
{
int count =dt.Columns .Count ;
for(int i=0;i<dt.Columns .Count ;i++)
{
if ((dt.Columns [i].ToString ().Trim ()!=c1)&&(dt.Columns [i].ToString ().Trim ()!=c2))

dt.Columns .Remove (dt.Columns [i].ToString ().Trim ());
//dt.Columns .RemoveAt (i); //下面这个也试过了,效果了一样。

}
  return dt;


}
我写了这么一个保留datatable 固定两列的方法。为什么出现datable 里面部分列被移除,部门列依然存在的情况,不能完全移除不需要的列,不知道哪里出问题的

------解决方案--------------------
探讨

cha,还是自己找了原因,又有删除一列 column 列个数发生了变化导致列不能完全被删除 。自己解决了!

------解决方案--------------------
诶 你才觉悟啊 调试一下就会发现变化咯!
------解决方案--------------------
C# code

int[] ar = new int[dtResult.Rows.Count];
  for (int i = 0; i < dtResult.Rows.Count; i++)
  {
  if (dtResult.Rows[i][0].ToString() =="0")
  {
  ar[i] = i;
  }
  }

  for (int num=ar.Length-1; num > -1 ;num-- )
  {
  dtResult.Rows[num].Delete();
  }