728x90
List 에 담겨진 데이터를 Datatable 로 변환하는 코드입니다.
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;
}
728x90
'C# > Winform' 카테고리의 다른 글
(.NET) 파일 전체 경로에서 directory 정보만 뺴오기 (0) | 2017.04.15 |
---|---|
(.NET) 다른 config 파일 읽어오기 (0) | 2017.04.15 |
(.NET) 작업표시줄 깜빡이기 (0) | 2017.04.15 |
(.NET) 시작프로그램에 등록하기 (0) | 2017.04.15 |
(.NET) Control 에서 특정 메서드 호출하기 (0) | 2017.04.15 |