Tem
4
2014
C#

C# - Convert List to DataTable - Listeyi DataTable a çevirme

Merhabalar,

Elimizde bulunan bir List<T> nesnesini DataTable'a nasıl çevirebiliriz. Aşağıdaki kod bloğunda List nesnesine bir Extension method yazarak pratik bir şekilde yapabiliriz.

public static DataTable ConvertToDatatable<T>(this IList<T> data)
{
	System.ComponentModel.PropertyDescriptorCollection props = System.ComponentModel.TypeDescriptor.GetProperties(typeof(T));
	DataTable table = new DataTable();
	for (int i = 0; i < props.Count; i++)
	{
		System.ComponentModel.PropertyDescriptor prop = props[i];
		table.Columns.Add(prop.Name, prop.PropertyType);
	}
	object[] values = new object[props.Count];
	foreach (T item in data)
	{
		for (int i = 0; i < values.Length; i++)
		{
			values[i] = props[i].GetValue(item);
		}
		table.Rows.Add(values);
	}
	return table;
}

Böylelikle projemiz içerisinde istediğimiz yerde kullanabiliriz. Önemli bir not extension methodumuzu static bir class içinde kullanmalıyız. Extension method kullanımı için örnek yazıya buradan ulaşabilirsiniz.

Yorum ekle

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading

Aylara Göre

En Son Yorumlar

Gösterme