Thursday, April 29, 2010

Object Array To DataTable

#region Object Array to DataTable

/// Method to Convert Datatable from object Array.

public static DataTable ToDatatable(this Object[] array)

{

PropertyInfo[] properties = array.GetType().GetElementType().GetProperties();

DataTable dt = CreateDataTable(properties);

if (array.Length != 0)

{

foreach (object o in array)

FillData(properties, dt, o);

}

return dt;

}




/// Method To Create total column of datatable.

private static DataTable CreateDataTable(PropertyInfo[] properties)

{

DataTable dt = new DataTable();

DataColumn dc = null;

foreach (PropertyInfo pi in properties)

{

dc = new DataColumn();

dc.ColumnName = pi.Name;

//dc.DataType = pi.PropertyType;

dt.Columns.Add(dc);

}

return dt;

}



/// Method for Fill data in DataTable.


private static void FillData(PropertyInfo[] properties, DataTable dt, Object o)

{

DataRow dr = dt.NewRow();

foreach (PropertyInfo pi in properties)

{

dr[pi.Name] = pi.GetValue(o, null);

}

dt.Rows.Add(dr);

}

#endregion

No comments:

Post a Comment