954,505 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?

Convert DataView to DataTable

0
By serkan sendur on Jan 31st, 2008 8:08 pm

Enables DataView to DataTable conversion

public static 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)
            {
                Trace.WriteLine(ex.Message);
            }
            obNewDt.Rows.Add(dr);
        }

        return obNewDt;
    }

public static 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) { Trace.WriteLine(ex.Message); } obNewDt.Rows.Add(dr); } return obNewDt; }public static 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)
{
Trace.WriteLine(ex.Message);
}
obNewDt.Rows.Add(dr);
}

return obNewDt;
}

i write above in my program to convert dataview to data table, but their is an error shows that
"Using the Generic type 'System.Collection.Generic.IEnumerable' required '1' type argument
please help me how i can solve this problem
thanks in advance

Aliasgher
Newbie Poster
1 post since Nov 2008
Reputation Points: 10
Solved Threads: 0
 

thsi is vb code

Dim dTable As DataTable
dTable = dv.ToTable

for more details :

http://vb.net-informations.com/dataview/dataview-to-datatable.htm

thanks.

bruce2424
Newbie Poster
23 posts since Jun 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You