1 private DataTable listToDataTable<T>(List<T> ListItem)
2 {
3 //实列化DataTable对象
4 var dt = new DataTable(typeof(T).Name);
5
6 //通过反射获取List实体的属性信息
7 PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
8
9 //给DataTable 添加定义
10 foreach (var propertyInfo in propertyInfos)
11 {
12 dt.Columns.Add(propertyInfo.Name, propertyInfo.PropertyType);
13 }
14
15 //给DataTable 添加数据
16 foreach (T item in ListItem)
17 {
18 var values = new object[propertyInfos.Length];
19 for (int i = 0; i < propertyInfos.Length; i++)
20 {
21 values[i] = propertyInfos[i].GetValue(item);
22 }
23 dt.Rows.Add(values);
24 }
25
26 //返回DataTable
27 return dt;
28 }
泛型 List转换成DataTable
最新推荐文章于 2023-07-12 16:55:07 发布
本文介绍了一种将泛型列表(List<T>)转换为DataTable的方法。该方法首先实例化了一个DataTable对象,并通过反射获取列表中实体的所有公共属性。然后,使用这些属性信息定义DataTable的列,并遍历列表填充数据行。
摘要由CSDN通过智能技术生成