DataTable转List,转对象
2018-06-22 06:18:08来源:未知 阅读 ()
DataTable转List
public static List<T> ToListModel<T>(this DataTable table) where T : new() { var type = typeof(T); var properties = type.GetProperties(); List<T> list = new List<T>(); foreach (DataRow row in table.Rows) { var t = Activator.CreateInstance<T>(); foreach (var p in properties) { if (!table.Columns.Contains(p.Name)) continue; if ((row[p.Name]).GetType() != typeof(DBNull)) p.SetValue(t, row[p.Name], null); } list.Add(t); t = default(T); } return list; }
DataTable转Object
public static object DataTableToObject(this DataTable table, int total) { Dictionary<string, object> data = new Dictionary<string, object>(); List<Dictionary<string, object>> parentRow = new List<Dictionary<string, object>>(); data.Add("total", total); data.Add("rows", CreateRows(table)); return data; } private static object CreateRows(DataTable table) { List<Dictionary<string, object>> parentRow = new List<Dictionary<string, object>>(); Dictionary<string, object> childRow; foreach (DataRow row in table.Rows) { childRow = new Dictionary<string, object>(); foreach (DataColumn col in table.Columns) { bool isDate = false; #region 时间转化 if (col.ColumnName.Contains("_DATE") || col.ColumnName.Contains("_TIME") || col.ColumnName.Contains("_DT") || col.ColumnName.Contains("FDATE")) { isDate = true; } #endregion if (isDate) { try { childRow.Add(col.ColumnName, row[col] is DBNull ? "" : Convert.ToDateTime(row[col]).ToString("yyyy-MM-dd")); } catch { childRow.Add(col.ColumnName, row[col]); } } else { childRow.Add(col.ColumnName, row[col]); } } parentRow.Add(childRow); } return parentRow; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:C#异步的世界【上】
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
- DataSet与DataTable的区别示例介绍 2020-03-04
- asp.net实现导出DataTable数据到Word或者Excel的方法 2020-02-28
- .NET下通过HttpListener实现简单的Http服务 2020-02-27
- 详解ABP框架中的数据过滤器与数据传输对象的使用 2020-01-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash