ConvertToDataTable
- // T is a generic class
- static DataTable ConvertToDataTable<T>(List<T> models)
- {
- // creating a data table instance and typed it as our incoming model
- // as I make it generic, if you want, you can make it the model typed you want.
- DataTable dataTable = new DataTable(typeof(T).Name);
- //Get all the properties of that model
- PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
- // Loop through all the properties
- // Adding Column name to our datatable
- foreach (PropertyInfo prop in Props)
- {
- //Setting column names as Property names
- dataTable.Columns.Add(prop.Name);
- }
- // Adding Row and its value to our dataTable
- foreach (T item in models)
- {
- var values = new object[Props.Length];
- for (int i = 0; i < Props.Length; i++)
- {
- //inserting property values to datatable rows
- values[i] = Props[i].GetValue(item, null);
- }
- // Finally add value to datatable
- dataTable.Rows.Add(values);
- }
- return dataTable;
- }
Comments
Post a Comment