如何将List转换为DataTable

 

 1    public static DataTable ToDataTable<T>(List<T> list)
 2         {
 3             DataTable result = new DataTable();
 4             if (list.Count > 0)
 5             {
 6                 PropertyInfo[] propertys = list[0].GetType().GetProperties();
 7                 foreach (PropertyInfo pi in propertys)
 8                 {
 9                     result.Columns.Add(pi.Name, pi.PropertyType);
10                 }
11 
12                 for (int i = 0; i < list.Count; i++)
13                 {
14                     ArrayList tempList = new ArrayList();
15                     foreach (PropertyInfo pi in propertys)
16                     {
17                         object obj = pi.GetValue(list[i], null);
18                         tempList.Add(obj);
19                     }
20                     object[] array = tempList.ToArray();
21                     result.LoadDataRow(array, true);
22                 }
23             }
24             return result;
25         }

 

重要:针对属性get set提供的反射.

(本文转载至互联网,抱歉找不到原链接,如有争议,请随时联系我删除)

posted @ 2014-04-13 21:27  菜鸟学CSharp  阅读(1657)  评论(2)    收藏  举报