IList类转换成DataTable
/// <summary>/// 将集合类转换成DataTable/// </summary>/// <param name="list">集合</param>/// <returns></returns>public static DataTable ToDataTable(IList list){DataTable result = new DataTable();if (list.Count > 0){PropertyInfo[] propertys = list[0].GetType().GetProperties();foreach (PropertyInfo pi in propertys){result.Columns.Add(pi.Name, pi.PropertyType);}for (int i = 0; i < list.Count; i++){ArrayList tempList = new ArrayList();foreach (PropertyInfo pi in propertys){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}object[] array = tempList.ToArray();result.LoadDataRow(array, true);}}return result;}/// <summary>/// 将泛型集合类转换成DataTable/// </summary>/// <typeparam name="T">集合项类型</typeparam>/// <param name="list">集合</param>/// <returns>数据集(表)</returns>public static DataTable ToDataTable<T>(IList<T> list){return ConvertX.ToDataTable<T>(list, null);}/// <summary>/// 将泛型集合类转换成DataTable/// </summary>/// <typeparam name="T">集合项类型</typeparam>/// <param name="list">集合</param>/// <param name="propertyName">需要返回的列的列名</param>/// <returns>数据集(表)</returns>public static DataTable ToDataTable<T>(IList<T> list, params string[] propertyName){List<string> propertyNameList = new List<string>();if (propertyName != null)propertyNameList.AddRange(propertyName);DataTable result = new DataTable();if (list.Count > 0){PropertyInfo[] propertys = list[0].GetType().GetProperties();foreach (PropertyInfo pi in propertys){if (propertyNameList.Count == 0){result.Columns.Add(pi.Name, pi.PropertyType);}else{if (propertyNameList.Contains(pi.Name))result.Columns.Add(pi.Name, pi.PropertyType);}}for (int i = 0; i < list.Count; i++){ArrayList tempList = new ArrayList();foreach (PropertyInfo pi in propertys){if (propertyNameList.Count == 0){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}else{if (propertyNameList.Contains(pi.Name)){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}}}object[] array = tempList.ToArray();result.LoadDataRow(array, true);}}return result;}
转载于:https://www.cnblogs.com/jeffrey77/archive/2012/07/18/2598094.html
IList类转换成DataTable相关推荐
- 将FeatClass属性表高效率转换成DataTable
把IFeatureClass\ ITable转换成DataTable,效率高. 方法一 ITable遍历行 1.用IFeatureClass属性查询的方式较慢,这样速度可提高几十倍. 2.避免了hre ...
- C#_List转换成DataTable
/// <summary>/// 讲list集合转换成datatable/// </summary>/// <param name="list"> ...
- list 转换成datatable
感谢网上的一位朋友 1 /// <summary> 2 60 /// 将集合类转换成DataTable 3 61 /// </summary> 4 62 /// <par ...
- JSONSerializer把类转换成JSON字符串
JSONSerializer把类转换成JSON字符串 阅读优秀的代码真的是种享受,从ProMesh的项目中发现了现在的一段优美的代码,记下来,也让喜欢它的人有机会阅读到. //============ ...
- C#:CsvReader读取.CSV文件(转换成DataTable)
原文引用:https://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader using LumenWorks.Framework.IO.Csv;u ...
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...
- 实体类转换成Xml格式实例
最近在家公司实习,接触到了报关系统,有些海关报文是需要Xml格式来进行拼接的,所以就开始学起了将实体类转换成Xml格式的写法. 具体Xml是什么大家可以从这个链接点进去了解:Xml教程 我们在进行数据 ...
- jdk1.5的类转换成jdk1.4的类文件
把jdk1.5环境下的类文件编译成1.4环境下的类文件,我使用的是Retrotranslator-1.2.2.使用Ant编译依赖三个jar文件,retrotranslator-transformer- ...
- C#怎样解析.CSV文件同时把类转换成JSON
1.首先需要引用 Newtonsoft.Json 目的是为了把对象类直接转换为JSON,返回到前台 using Newtonsoft.Json; 2.定义一个类,存储返回的值 public class ...
最新文章
- php怎么删除多条,php 用checkbox一次性删除多条记录的方法
- “移花接木”修复E680i系统内部错误
- 创业者:创业要疯狂融资要理性
- echarts Cannot read property ‘getAttribute‘ of null 问题的解决方法
- java double类型保留两位小数4种方法
- castle activerecord mysql_Castle ActiveRecord配置中需要注意的地方
- 修改Linux内核启动图片
- 疯子的算法总结(六) 复杂排序算法 ① 归并排序 merge_sort()
- Orchard之生成新模板
- Java,JavaFX的流利设计风格文本字段和密码字段
- Android Glide图片加载框架(二)源码解析之with()
- c 表达式必须是可修改的左值_C++中的左值,右值,左值引用,右值引用
- 苹果市值突破2万亿美元;华为推出PC版HMS“擎云生态”;Android11将强制应用使用内置相机 | 极客头条
- BZOJ 4698: Sdoi2008 Sandy的卡片
- Head First设计模式读书笔记一 策略模式
- .styl格式的CSS样式文件是什么文件
- PS 如何制作 圆角矩形 图片
- 如何保持较长时间的专注
- 直播技术总结(一)流媒体服务器搭建,进行推流
- word2vec和word embedding有什么区别?
热门文章
- 分区partition是否只保存一部分数据?
- ubuntu18.10的header文件搜索路径
- 在线nltk分词和词性标注
- Please install [clang](http://clang.llvm.org/) or check configuration `clang.executable`
- 深度学习(三)——Autoencoder, 词向量
- 想上云,请评估与思考上云目的
- JS 装饰器(Decorator)场景实战
- [zz]GMM-HMM语音识别模型 原理篇
- BeanFactory not initialized or already closed - call 'refresh' before accessing beans
- ftp之高级配置——虚拟用户