Asp.net实现选择性的保留DataTable中的列

时间:2022-09-17 22:56:48

代码如下:


//数据 
DataTable dtObject = dt; 
//保留列 
string[] saveColumns = new string[5]; 
saveColumns[0] = "X";//保留列1 
saveColumns[1] = "XX";//保留列2 
saveColumns[2] = "XXX"; 
saveColumns[3] = "XXXX"; 
saveColumns[4] = "XXXXX"; 
//移除不需要的列 
for (int i = dtObject.Columns.Count-1; i >= 0; i--)//注意此处,一般习惯用i++则会引发OutOfIndex异常,由于部分列被移除,列索引减少,i++会超出不断减少的索引总数,注意。 

//移除指示器 
bool remove = true; 
//是否在保留列中 
for (int j = 0; j < saveColumns.Length; j++) 

if (dtObject.Columns[i].ColumnName == saveColumns[j]) 

//保留列不移除 
remove = false; break; 


if (remove) 

//移除列 
dtObject.Columns.Remove(dtObject.Columns[i].ColumnName); 


return dtObject;