datatable转换成list<T>,datatable转换成json格式
2012-08-16 14:44
816 查看
1, DataTable to List
/// <summary>
/// 将Datatable转换为泛型列表对象
/// </summary>
/// <typeparam name="T">泛型T的数据类型</typeparam>
/// <param name="dataTable">待转换的DataTable对象</param>
/// <returns>目标泛型列表对象</returns>
protected List<T> DataTableToList<T>(DataTable dataTable)
{
List<T> list = new List<T>();
System.Type targetType = typeof(T);
PropertyInfo[] allPropertyArray = targetType.GetProperties();
foreach (DataRow rowElement in dataTable.Rows)
{
T element = Activator.CreateInstance<T>();
foreach (DataColumn columnElement in dataTable.Columns)
{
foreach (PropertyInfo property in allPropertyArray)
{
if (property.Name.Equals(columnElement.ColumnName))
{
if (rowElement[columnElement.ColumnName] == DBNull.Value)
{
property.SetValue(element, null, null);
}
else
{
property.SetValue(element, rowElement[columnElement.ColumnName], null);
}
}
}
}
list.Add(element);
}
return list;
}
2,DataTale to json
public static List<Dictionary<string, object>> dtTolist(DataTable dt)
{
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow dr in dt.Rows)
{
Dictionary<string, object> result = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
result.Add(dc.ColumnName, dr[dc].ToString());
}
list.Add(result);
}
return list; ;
}
/// <summary>
/// 将Datatable转换为泛型列表对象
/// </summary>
/// <typeparam name="T">泛型T的数据类型</typeparam>
/// <param name="dataTable">待转换的DataTable对象</param>
/// <returns>目标泛型列表对象</returns>
protected List<T> DataTableToList<T>(DataTable dataTable)
{
List<T> list = new List<T>();
System.Type targetType = typeof(T);
PropertyInfo[] allPropertyArray = targetType.GetProperties();
foreach (DataRow rowElement in dataTable.Rows)
{
T element = Activator.CreateInstance<T>();
foreach (DataColumn columnElement in dataTable.Columns)
{
foreach (PropertyInfo property in allPropertyArray)
{
if (property.Name.Equals(columnElement.ColumnName))
{
if (rowElement[columnElement.ColumnName] == DBNull.Value)
{
property.SetValue(element, null, null);
}
else
{
property.SetValue(element, rowElement[columnElement.ColumnName], null);
}
}
}
}
list.Add(element);
}
return list;
}
2,DataTale to json
public static List<Dictionary<string, object>> dtTolist(DataTable dt)
{
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow dr in dt.Rows)
{
Dictionary<string, object> result = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
result.Add(dc.ColumnName, dr[dc].ToString());
}
list.Add(result);
}
return list; ;
}
相关文章推荐
- 将DataTable或Ilist<>转换成JSON格式
- c# Json List<T> DataTable 数据相互转换
- c# Json List<T> DataTable 数据相互转换
- 将DataTable或Ilist<>转换成JSON格式
- c# Json List<T> DataTable 数据相互转换
- 将DataTable或Ilist<>转换成JSON格式
- 将JSON格式数据转换成适用于SimpleAdapter的数据形式 List<Map<String, String>>
- c# Json List<T> DataTable 数据相互转换
- 将DataTable或Ilist<>转换成JSON格式
- fastjson转换json格式数据为List<HashMap>转换异常问题
- 实体或List(IList<T>)转换JSON格式的简便方法
- DataTable IList<T> 与 Json 互转
- Gson将list<对象>转换为Json
- 将List<Map>中的datas转换为json格式写入文件
- 将DataTable转换成List<T>泛型集合助手类
- DataTable转换成List<T>
- List<Map<String, Object>> 转换成JSON数据格式保存再转List<Map<String, Object>> 返回
- c# Json List<T> DataTable 数据相互转换
- List<T>转换为DataTable