当前位置:编程学习 > asp >>

Asp.net_选择性的保留DataTable中的列

[csharp] 
//数据    
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;  
 
//数据 
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;
 
 
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,