list转dataTable
Posted lanyu001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list转dataTable相关的知识,希望对你有一定的参考价值。
在我们工作中有时候需要类型转换的,在此提供一个list转datatable的方法:
public static DataTable ListToDataTable<T>(List<T> list) { Type tp = typeof(T); PropertyInfo[] proInfos = tp.GetProperties(); DataTable dt = new DataTable(); foreach (var item in proInfos) { //解决DataSet不支持System.Nullable<>问题 Type colType = item.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) { colType = colType.GetGenericArguments()[0]; } //添加列明及对应类型 dt.Columns.Add(item.Name, colType); } foreach (var item in list) { DataRow dr = dt.NewRow(); foreach (var proInfo in proInfos) { object obj = proInfo.GetValue(item); if (obj == null) { continue; } if (proInfo.PropertyType == typeof(DateTime) && Convert.ToDateTime(obj) < Convert.ToDateTime("1753-01-01")) { continue; } dr[proInfo.Name] = obj; } dt.Rows.Add(dr); } return dt; }
码出人生,永无止境!
以上是关于list转dataTable的主要内容,如果未能解决你的问题,请参考以下文章