zoukankan      html  css  js  c++  java
  • C# 将List转换为DataTable方法

    /// <summary>
            /// 将List转换为DataTable
            /// </summary>
            /// <param name="list">请求数据</param>
            /// <returns></returns>
            public static DataTable ListToDataTable<T>(List<T> list)
            {
                //创建一个名为"tableName"的空表
                DataTable dt = new DataTable("tableName");
    
                //创建传入对象名称的列
                foreach (var item in list.FirstOrDefault().GetType().GetProperties())
                {
                    dt.Columns.Add(item.Name);
                }
                //循环存储
                foreach (var item in list)
                {
                    //新加行
                    DataRow value = dt.NewRow();
                    //根据DataTable中的值,进行对应的赋值
                    foreach (DataColumn dtColumn in dt.Columns)
                    {
                        int i = dt.Columns.IndexOf(dtColumn);
                        //基元元素,直接复制,对象类型等,进行序列化
                        if (value.GetType().IsPrimitive)
                        {
                            value[i] = item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item);
                        }
                        else
                        {
                            value[i] = JsonConvert.SerializeObject(item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item));
                        }
                    }
                    dt.Rows.Add(value);
                }
                return dt;
            }
  • 相关阅读:
    HDU 4123 Bob’s Race 树的直径+ST表
    acm 2015北京网络赛 F Couple Trees 树链剖分+主席树
    acm java入门(转载)
    java水题集
    南昌网络赛C.Angry FFF Party
    eclipse 安装
    eclipse jdk安装
    树链剖分总结
    P
    L
  • 原文地址:https://www.cnblogs.com/wangxlei/p/12704873.html
Copyright © 2011-2022 走看看