|
/// <summary>
/// Converte um DataView para um DataTable
/// </summary>
/// <param name="oDataView">DataView a converter</param>
public static DataTable ConverteDataViewToDataTable(DataView oDataView)
{
if (oDataView == null)
return null;
DataTable obNewDt = oDataView.Table.Clone();
int idx = 0;
string[] strColNames = new string[obNewDt.Columns.Count];
foreach (DataColumn col in obNewDt.Columns)
{
strColNames[idx++] = col.ColumnName;
}
IEnumerator viewEnumerator = oDataView.GetEnumerator();
while (viewEnumerator.MoveNext())
{
DataRowView drv = (DataRowView)viewEnumerator.Current;
DataRow dr = obNewDt.NewRow();
try
{
foreach (string strName in strColNames)
{
dr[strName] = drv[strName];
}
}
catch
{
}
obNewDt.Rows.Add(dr);
}
return obNewDt;
}
|