Description:-
In
this Example we Explain that How to Convert List to Datatable in C# or
asp.Net.now we First understand What is the List and DataTable in Asp.Net.
What
is List in C# Asp.Net:-
List
is a one kind of Generic class provided by .Net is used for store Data in List
Format for Category wise like only number,only string etc…
Through List we can Easily handle GropBy,Join or Add
or Remove Item sorting Item or many other Operation.
What
is DataTable in Asp.Net:-
DataTable
is one kind of Building Class Provided by Ado.Net and are used to store Table
or Create a Datarow or DataColoumn at runtime and add to the DataTable.we can
Easily add or Remove Datarow in Datatable.
Now we Expalin How to Convert List to Datatable in
Asp.Net:
Here is a Code for Convert List to DataTable but
before use this code you have to add the following Namespace like
using System.ComponentModel;
List<Employee> lstEmployee and want to convert
in datatable then simply call this way.
Here List<Employee> is an one kind of List
that I want to Convert in Datatable and lstEmployee is an object of the
List<Employee> type
Implement Remember Me functionality using CheckBox ASP.Net
set WaterMark Text in PDF using itextsharp in C#
How to set Default Button in MVC Web Form Application
How to Bind XML File data to Treeview in asp.net
JQuery datepicker calender with Dropdown month and year in asp.net.
Code for Convert List to Datatable:-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.ComponentModel;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = lstEmployee.ConvertToDataTable();
}
public static DataTable ConvertToDataTable<T>(IList<T> list) where T : class
{
try
{
DataTable table = CreateDataTable<T>();
Type objType = typeof(T);
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(objType);
foreach (T item in list)
{
DataRow row = table.NewRow();
foreach (PropertyDescriptor property in properties)
{
if (!CanUseType(property.PropertyType))
continue;
row[property.Name] =
property.GetValue(item) ?? DBNull.Value;
}
table.Rows.Add(row);
}
return table;
}
catch (DataException ex)
{
return null;
}
catch (Exception ex)
{
return null;
}
}
private static DataTable CreateDataTable<T>() where T : class
{
Type objType = typeof(T);
DataTable table = new DataTable(objType.Name);
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(objType);
foreach (PropertyDescriptor property in properties)
{
Type propertyType = property.PropertyType;
if (!CanUseType(propertyType)) continue;
//nullables must use underlying types
if (propertyType.IsGenericType &&
propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
propertyType = Nullable.GetUnderlyingType(propertyType);
//enums also need special treatment
if (propertyType.IsEnum)
propertyType = Enum.GetUnderlyingType(propertyType);
table.Columns.Add(property.Name,
propertyType);
}
return table;
}
private static bool CanUseType(Type propertyType)
{
//only strings and value types
if (propertyType.IsArray) return false;
if (!propertyType.IsValueType && propertyType != typeof(string)) return false;
return true;
}
}
Bind GridView to Generic List in C#
ReplyDeletehttp://aspsolutionkirit.blogspot.in/2013/04/selectinsertupdatedelete-in-gridview.html
DeleteThank u
ReplyDelete