1.  
  2. c# datarow[] 转换成 datatable, List<T> 转datatable

DdataRow[]转成Datatable

  1. private DataTable ToDataTable(DataRow[] rows)
  2. {
  3. if (rows == null || rows.Length == ) return null;
  4. DataTable tmp = rows[].Table.Clone(); // 复制DataRow的表结构
  5. foreach (DataRow row in rows)
  6. {
  7.  
  8. tmp.ImportRow(row); // 将DataRow添加到DataTable中
  9. }
  10. return tmp;
  11. }

List<T> 转datatable

  1. #region List<T> 转table
  2. public static DataTable ListToDataTable<T>(List<T> entitys)
  3. {
  4. //检查实体集合不能为空
  5. if (entitys == null || entitys.Count < )
  6. {
  7. throw new Exception("需转换的集合为空");
  8. }
  9. //取出第一个实体的所有Propertie
  10. Type entityType = entitys[].GetType();
  11. PropertyInfo[] entityProperties = entityType.GetProperties();
  12.  
  13. //生成DataTable的structure
  14. //生产代码中,应将生成的DataTable结构Cache起来,此处略
  15. DataTable dt = new DataTable();
  16. for (int i = ; i < entityProperties.Length; i++)
  17. {
  18. //dt.Columns.Add(entityProperties[i].Name, entityProperties[i].PropertyType);
  19. dt.Columns.Add(entityProperties[i].Name);
  20. }
  21. //将所有entity添加到DataTable中
  22. foreach (object entity in entitys)
  23. {
  24. //检查所有的的实体都为同一类型
  25. if (entity.GetType() != entityType)
  26. {
  27. throw new Exception("要转换的集合元素类型不一致");
  28. }
  29. object[] entityValues = new object[entityProperties.Length];
  30. for (int i = ; i < entityProperties.Length; i++)
  31. {
  32. entityValues[i] = entityProperties[i].GetValue(entity, null);
  33. }
  34. dt.Rows.Add(entityValues);
  35. }
  36. return dt;
  37. }
  38. #endregion

c# datarow[] 转换成 datatable, List<T> 转datatable的更多相关文章

  1. DataTable 转换成 Json的3种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

  2. DataTable转换成IList<T>的简单实现

    DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ...

  3. C# 将DataTable数据源转换成实体类

    using System; using System.Collections.Generic; using System.Data; using System.Reflection; /// < ...

  4. DataTable转换成json字符串

    将DataTable里面的行转换成json字符串方法: #region DataTable转为json /// <summary> /// DataTable转为json /// < ...

  5. 带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel

    步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript&qu ...

  6. 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)

    public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...

  7. C#将DataTable转换成list的方法

    本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary>   /// 酒店评论列表-分页  /// </su ...

  8. DataTable转换成List<T>

    很多时候需要将DataTable转换成一组model,直接对model执行操作会更加方便直观. 代码如下: public static class DataTableToModel { public ...

  9. list转换成DataTable

    list转换成DataTable类如下: public static DataTable ToDataTable<T>(this IList<T> datas) { DataT ...

随机推荐

  1. JVM-类加载过程(Java类的生命周期)

    什么是类加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构.类的 ...

  2. WPF中使用Grid来实现图层的效果

    <Style x:Key="ScanButtonStyle" TargetType="{x:Type Button}"> <!--<Se ...

  3. linux下perforce(p4)的使用方法和命令

    环境变量: export P4PASSWD=abcdefg export P4CLIENT=dyoldfish.com export P4USER=dyoldfish export P4PORT=19 ...

  4. BEA WebLogic平台下J2EE调优攻略--转载

    BEA WebLogic平台下J2EE调优攻略   2008-06-25 作者:周海根 出处:网络   前 言 随着近来J2EE软件广泛地应用于各行各业,系统调优也越来越引起软件开发者和应用服务器提供 ...

  5. 远程服务通讯Service(Remote--AIDL)

    服务端代码:https://github.com/maogefff/AndroidTest/tree/develop-ServiceLocal2 客户端代码:https://github.com/ma ...

  6. Delphi 枚举所有进程

    通过进程快照枚举所有进程,关于进程快照,在Delphi5开发人员指南中有说明,当然也可以百度一下用法. 使用进程快照CreateToolhelp32Snapshot,必须uses TlHelp32单元 ...

  7. 解决java获取系统时间差8个小时 专题

    在WIN7下发现一些Java的程序获取系统时间比真实时间差了8个小时,怀疑是Java程序沿用了低版本的JDK,获取时间时取的GSM 0时区,而中国是GSM +8,所以查了8个小时,解决办法如下: 修改 ...

  8. OpenStack Object Storage(Swift)概述

    概述 OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性.冗余和持久性. Swift并不是文件系统或者实时 ...

  9. [转]MONTHS_BETWEEN Function - Oracle to SQL Server Migration

    本文转自:http://www.sqlines.com/oracle-to-sql-server/months_between In Oracle, MONTHS_BETWEEN(date1, dat ...

  10. 第6章 通过CrawlSpider对招聘网站进行整站爬取

    通过前几章的2个项目的学习,其实本章的拉钩网项目还是挺容易理解的. 本章主要的还是对CrawlSpider源码的解析,其实我对源码还不是很懂,只是会基本的一些功能而已. 不分小节记录了,直接上知识点, ...