datatable和list的转换
类别:编程学习 浏览量:9117
时间:2013-12-24 datatable和list的转换
datatable和list的转换1.datatable转换为list
public List<T> GetList<T>(DataTable table)
{
List<T> list = new List<T>();
T t = default(T);
PropertyInfo[] propertypes = null;
string tempName = string.Empty;
foreach (DataRow row in table.Rows)
{
t = Activator.CreateInstance<T>();
propertypes = t.GetType().GetProperties();
foreach (PropertyInfo pro in propertypes)
{
tempName = pro.Name;
if (table.Columns.Contains(tempName))
{
object value = row[tempName];
if (!value.ToString().Equals(""))
{
pro.SetValue(t, value, null);
}
}
}
list.Add(t);
}
return list.Count == 0 ? null : list;
}
public DataSet ConvertToDataSet<T>(IList<T> list)
{
if (list == null || list.Count <= 0)
{
return null;
}
DataSet ds = new DataSet();
DataTable dt = new DataTable(typeof(T).Name);
DataColumn column;
DataRow row;
System.Reflection.PropertyInfo[] myPropertyInfo = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
foreach (T t in list)
{
if (t == null)
{
continue;
}
row = dt.NewRow();
for (int i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
string name = pi.Name;
if (dt.Columns[name] == null)
{
column = new DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
row[name] = pi.GetValue(t, null);
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return ds;
}
您可能感兴趣
- asp.net后台输出js脚本
- asp.net中Session的操作
- asp.net去除字符串中html标签
- asp.net func 委托
- ASP.NET常用加密解密方法
- ASP.NET mvc异常处理的方法
- ASP.NET中() => 的含义
- ASP.NET中Obsolete属性
- ASP.NET服务器端执行脚本的通用方法
- ASP.NET常用的代码收集
- ASP.NET记录错误日志的方式有哪些
- ASP.NET中Web API的简单实例
- 开源asp.net(apache下支持asp.net的实现方法)
- ASP.NET压力测试
- ASP.NET中application对象的用法
- ASP.NET Web API是什么
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 数字藏品市场有多乱 周杰伦丢了 一只猴 ,损失超300万(数字藏品市场有多乱)
- 这里输入关键词(怎么输入关键词搜索)
- 得这个 难治病 的人太多了,300个人赶到杭州商量怎么办(得这个难治病的人太多了)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
热门推荐
- python序列化图解(对Python3 序列解包详解)
- 属于web服务器的有哪些(web服务器有几种类型?)
- 详解SqlServer数据库中Substring函数的用法(详解SqlServer数据库中Substring函数的用法)
- SQL Having的用法
- sqlserver 锁表原因(SQL Server学习笔记之事务、锁定、阻塞、死锁用法详解)
- 配置ftp服务器基本步骤(搭建FTP服务器的简单实例)
- base64图片在各种浏览器的兼容性处理(base64图片在各种浏览器的兼容性处理)
- mysql 排序源码(MySQL排序原理和案例详析)
- 不喜欢现在的工作 该怎么办
- 在linux系统中切换成其他用户(如何在Linux命令行与其他用户通信)