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小数点四舍五入
- asp.net 参数化like模糊查询
- Asp.net导出Excel乱码
- asp.net lambda表达式
- asp.net func 委托
- Asp.net中params的使用
- Asp.Net实现网站的快捷方式
- 如何注册asp.net 4.0 到iis
- ASP.NET匿名类型var
- asp.net中Session的操作
- ASP.NET泛型约束
- ASP.NET中XML和JSON互转
- ASP.NET中() => 的含义
- ASP.NET windows服务调试
- ASP.NET URLRewriter伪静态
- php 与asp对比(asp.net和php的区别点总结)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
- 心理学 四个金蟾,哪个最招财 测你今生的运势有多棒(心理学四个金蟾)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
热门推荐
- mysql多表连接优化(浅谈Mysql多表连接查询的执行细节)
- nginx配置静态资源访问(nginx 多个location转发任意请求或访问静态资源文件的实现)
- css中div高度自适应
- linux下安装nginx常见问题(Linux安装Nginx步骤详解)
- web服务器软件的知识体系(七款主流WEB服务器软件点评)
- php字符串长度怎么获取(PHP实现给定一列字符,生成指定长度的所有可能组合示例)
- 云服务器的五大特征(云服务器可以分为哪些类别?)
- 云主机跟云服务器有什么区别(浅析云主机的特点和优势)
- tomcat怎么知道访问servlet(详解从源码分析tomcat如何调用Servlet的初始化)
- python坐标输入(python导入坐标点的具体操作)