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参数化模糊查询
- netcorelinux后台运作(Linux系统Docker 部署 ASP.NET Core应用的流程分析)
- ASP.NET获取网页中的图片
- 为什么asp.net网站第一次加载慢
- asp.net自定义分页控件
- ASP.NET的Random随机数
- ASP.NET中Web.config文件的配置
- ASP.NET中使用CodeDomProvider调用js文件中的js方法
- ASP.NET匿名类型var
- asp.net操作cookie
- ASP.NET中TimeSpan的用法
- ASP.NET自定义分页类
- asp.net中split的用法
- ASP.NET服务器端执行脚本的通用方法
- ASP.NET如何获取上传图片的宽和高
- ASP.NET泛型约束
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
- 2019年外媒秋季新番动画角色CP排行榜,桐人和爱丽丝落榜(2019年外媒秋季新番动画角色CP排行榜)
- 新一小兰领衔 盘点动漫中的那些 远距离恋爱情侣(盘点动漫中的那些)
热门推荐
- react源码教程(详解React 代码共享最佳实践方式)
- 将SQL Server数据迁移到MySQL的常见工具
- echarts柱状图颜色设置(Echarts基本入门之柱状图、折线图通用配置)
- python中怎么连接mysql(python远程连接MySQL数据库)
- docker运行redis并操作(Docker安装MySQL和Redis的方法步骤)
- 深入理解mysql日志(mysql 重要日志文件汇总)
- mysql数据库三种模式(MySQL数据库是如何实现XA规范的)
- sql server建表语句带字段说明(SqlServer给表增加多个字段的语法)
- 搭建好的ftp服务器在哪里(如何在自己的电脑上搭建FTP服务器?)
- 自己做的弹珠小游戏(JS实现简单打砖块弹球小游戏)