![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public
DataTable CreateTable(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)
{
throw new Exception( " DataView create table error! " );
}
obNewDt.Rows.Add(dr);
}
return obNewDt;
}
{
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)
{
throw new Exception( " DataView create table error! " );
}
obNewDt.Rows.Add(dr);
}
return obNewDt;
}