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;
            }
  • 相关阅读:
    本地blast用法
    linux挂载移动硬盘
    酶设计软件rosetta安装
    redhat 6.7 安装nvidia显卡驱动时出现的问题
    分子模拟软件Schrodinger Suites 2015安装
    Python_二维数组
    Python_递归
    Python_装饰器
    Python_生成器generator
    Python_迭代器
  • 原文地址:https://www.cnblogs.com/wangxlei/p/12704873.html
Copyright © 2011-2022 走看看