您的位置:首页 > Web前端 > JavaScript

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; ;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: