asp.net将DataView转换成DataTable

这个比较简单
 /// <summary>
    
/// 将DataView转换为DataTable
    
/// </summary>
    
/// <param name="obDataView"></param>
    
/// <returns></returns>

    public DataTable GetDataTable(DataView obDataView)
    
{
        
if (null == obDataView)
        
{
            
throw new ArgumentNullException("DataView""Invalid DataView object specified");
        }


        DataTable obNewDt 
= obDataView.Table.Clone();
        
int idx = 0;
        
string[] strColNames = new string[obNewDt.Columns.Count];
        
foreach (DataColumn col in obNewDt.Columns)
        
{
            strColNames[idx
++= col.ColumnName;
        }


        IEnumerator viewEnumerator 
= obDataView.GetEnumerator();
        
while (viewEnumerator.MoveNext())
        
{
            DataRowView drv 
= (DataRowView)viewEnumerator.Current;
            DataRow dr 
= obNewDt.NewRow();
            
try
            
{
                
foreach (string strName in strColNames)
                
{
                    dr[strName] 
= drv[strName];
                }

            }

            
catch (Exception ex)
            
{
                Console.WriteLine(ex.Message);
            }

            obNewDt.Rows.Add(dr);
        }

        
return obNewDt;
    }
posted on 2008-01-26 13:47  ringwang  阅读(1923)  评论(2编辑  收藏  举报