zoukankan      html  css  js  c++  java
  • List<T> 转换 DataTable

     public class List2DataTable     {        

    public static string GetClassName(Type type)     

        {             if (type == null)            

         throw new ArgumentException("参数type不能为空");

               if (type.HasAttribute<AliasAttribute>())   

      return type.GetAttribute<AliasAttribute>().Name.ToLower();        

         else      

           return type.Name.ToLower();      

       }        

    public static DataTable ListToDataTable<T>(List<T> oList) where T : class    

         {          

       try          

       {               

      string tableName = GetClassName(typeof(T));       

              DataTable dt = new DataTable();                  

                string fieldName;             

         object fieldValue;              

       string[] fieldNames;             

                   System.Reflection.PropertyInfo[] Props = typeof(T).GetProperties();   

                  fieldNames = new string[Props.Length];          

    for (int i = 0; i < Props.Length; i++)              

       {                 

        fieldName = Props[i].Name;          

               fieldNames[i] = fieldName;            

             dt.Columns.Add(fieldName, Props[i].PropertyType);    

                 }             

        for (int r = 0; r < oList.Count; r++)            

         {                 

        DataRow dr = dt.NewRow();     

                    T o = oList[r];             

            for (int i = 0; i < fieldNames.Length; i++)     

                    {                    

         fieldValue = Props[i].GetValue(o, null);        

                     dr[fieldNames[i]] = fieldValue;       

                  }                  

       dt.Rows.Add(dr);     

                }               

      return dt;            

    }            

    catch(Exception ex)             {             }     

            return null;       

      }    

    }

  • 相关阅读:
    QT 手式编译步骤
    Linux QT 连接 Sqlite数据库
    JDK_1.8的Windows和Linux环境下的下载与安装
    聚焦BPM弹窗
    SQL查重去重
    sql函数使用
    SQL游标
    转载:《TypeScript 中文入门教程》 2、枚举
    《TypeScript 中文入门教程》 1、基础数据类型
    转载:《TypeScript 中文入门教程》
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/4907139.html
Copyright © 2011-2022 走看看