ExtensionMethod.NET Home of 880 C#, Visual Basic, F# and Javascript extension methods

DataTable to List

Datatable to List

Source

public static DataTable ToDataTable<T>(this IList<T> data)
{
    PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
    DataTable table = new DataTable();
    foreach (PropertyDescriptor prop in properties)
        table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
    foreach (T item in data)
    {
        DataRow row = table.NewRow();
        foreach (PropertyDescriptor prop in properties)
            row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
        table.Rows.Add(row);
    }
    return table;
}

Example

var myList = dt.ToList();

Author: Keyur Panchal

Submitted on: 11 aug. 2015

Language: C#

Type: Keyur

Views: 4600