zoukankan
html css js c++ java
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;
}
查看全文
相关阅读:
各种工具的使用 tricks
各种工具的使用 tricks
全栈工程师之路(二)—— JavaScript(网页前端脚本语言)
全栈工程师之路(二)—— JavaScript(网页前端脚本语言)
CSS(网页样式语言)基础
CSS(网页样式语言)基础
辨异 —— 机器学习概念辨异、模型理解
辨异 —— 机器学习概念辨异、模型理解
程序猿/媛段子
tabhost中activity跳转动画不显示的解决办法
原文地址:https://www.cnblogs.com/zhahost/p/1212470.html
最新文章
当执行游戏0xc000007b错误的解决方法
WPS2012交叉引用提示word比wps这种强烈的更新参考
malloc功能具体解释
Android学习笔记四十Preference使用
我的学习笔记_Windows_HOOK计划 2009-12-03 11:19
MATLAB导入数据importdata功能
鸟书shell 学习笔记(一) shell专注于概念和命令
MATLAB新手教程
INFOQ几篇论文
日志审计论文
热门文章
Drools
ElasticSearch Aggregation
nodejs + redis
RedHadoop
HBase源代码分析
Es
Oracle数据库时间修改
Storm博客收集
hdu 4640 Island and study-sister(状态压缩dp)
学习 NLP(一)—— TF-IDF
Copyright © 2011-2022 走看看