hollow,欢迎来到爱不绝迹的博客园!

list泛型转换成datatable

  1. public DataTable ListToDataTable<T>(List<T> list)
  2. {
  3. DataTable dt = new DataTable("CarInfo");
  4. Type type = typeof(T);//根据类型获取类型
  5. System.Reflection.PropertyInfo[] properts = type.GetProperties();//根据反射类型获取类型所有的属性
  6. foreach (var item in properts)
  7. {
  8. DataColumn dc = new DataColumn(item.Name, item.PropertyType);//根据属性添加列
  9. dt.Columns.Add(dc);
  10. }
  11. foreach (var item in list) //便利所有的数据
  12. {
  13. DataRow dr = dt.NewRow();//创建新行
  14. for (int i = 0; i < properts.Length; i++)
  15. {
  16. dr[i] = properts[i].GetValue(item);//根据属性名获取对象的值
  17. }
  18. dt.Rows.Add(dr);
  19. }
  20. return dt;
  21. }
posted @ 2016-03-29 12:38  爱不绝迹  阅读(930)  评论(1编辑  收藏  举报