zoukankan
html css js c++ java
IList<T> 转换成 DataSet
通过 NHibernate 查询返回的表数据通常都是
IList<T>
,但在实际使用中有些数据控件在数据绑定上对IList的支持并不是很好,所以有时候将IList转换成DataSet还是有必要的。在
Vinson的Blogs
中提到了怎么
将IList转换成DataSet
,可惜源码是VB.NET的。
下面是我根据
IList转换成DataSet
中的VB.NET源码转换成C#,由于现在做项目是用 VS 2005 ,所以也对其改进,让它支持C#2.0 中的泛型。
代码如下:
using
System;
using
System.Data;
public
class
NHibernateHelper
{
/**/
///
<summary>
///
Ilist
<T>
转换成 DataSet
///
</summary>
///
<param name="list"></param>
///
<returns></returns>
public
static
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;
}
}
查看全文
相关阅读:
兼容所有浏览器的CSS3圆角效果
浏览器兼容 IE6、IE7、IE8、Firefox、Opera CSS hack区分
分享30个优秀的网站导航设计案例
解析如何改善和优化 Web 服务器性能
分享40款效果非常漂亮的 HTML5 & CSS3 网站模板,模板免费下载
分享20个非常有创意的蓝色风格网页作品触发你的设计灵感
分享20个效果非常绚丽的 CSS3 特性应用演示
推荐12个优秀的 HTML5 网站设计案例欣赏
网站设计风格及色彩搭配技巧
舞动你的文字,巧用CSS中marquee属性
原文地址:https://www.cnblogs.com/yyw84/p/463480.html
最新文章
MyBatis3整合Spring3、SpringMVC3
Oracle笔记 七、PL/SQL 异常处理
Oracle笔记 目录索引
Oracle笔记 二、常用dba命令行
xStream完美转换XML、JSON
Oracle笔记 十三、PL/SQL面向对象之package
Jibx 处理XML
Oracle笔记 十四、查询XML操作、操作系统文件
SpringMVC 中整合JSON、XML视图二
Oracle笔记 十二、PL/SQL 面向对象oop编程
热门文章
Oracle笔记 十一、PL/SQL函数和触发器
Oracle笔记 十、PL/SQL存储过程
Oracle笔记 三、function 、select
MyBatis3整合Spring3的Transaction事务处理
用Castor 处理XML文档
Oracle笔记 五、创建表、约束、视图、索引、序列、同义词、表空间
推荐15个清爽简约风格的 HTML5 网站作品
十六个 HTML,CSS,jQuery,WordPress等快速启动项目样板
分享10款非常有用的 Ajax 插件
16个优秀的 CSS3 表单开发教程分享
Copyright © 2011-2022 走看看