标签:style blog color io 使用 ar strong for 数据
转化方法:
public class ListToDatatable { public ListToDatatable() { } public static DataTable ListToDataTable<T>(List<T> entitys) { //检查实体集合不能为空 if (entitys == null || entitys.Count < 1) { return new DataTable(); } //取出第一个实体的所有Propertie Type entityType = entitys[0].GetType(); PropertyInfo[] entityProperties = entityType.GetProperties(); //生成DataTable的structure //生产代码中,应将生成的DataTable结构Cache起来,此处略 DataTable dt = new DataTable("dt"); for (int i = 0; i < entityProperties.Length; i++) { //dt.Columns.Add(entityProperties[i].Name, entityProperties[i].PropertyType); dt.Columns.Add(entityProperties[i].Name); } //将所有entity添加到DataTable中 foreach (object entity in entitys) { //检查所有的的实体都为同一类型 if (entity.GetType() != entityType) { throw new Exception("要转换的集合元素类型不一致"); } object[] entityValues = new object[entityProperties.Length]; for (int i = 0; i < entityProperties.Length; i++) { entityValues[i] = entityProperties[i].GetValue(entity, null); } dt.Rows.Add(entityValues); } return dt; } }
1、页面代码
var rows = $(‘#tb_Master‘).datagrid(‘getRows‘); this.dataArray = new Array(); for (this.i = 0; i < rows.length; i++) { this.model = { PT_PCURR: rows[i].PT_PCURR, MATNR: rows[i].MATNR } dataArray.push(model); } var json = $.toJSON(dataArray);
会得到如下一个json字符串 [{"PT_PCURR":"1.00","MATNR":"8"},{"PT_PCURR":"0.80","MATNR":"8"},{"PT_PCURR":"-0.20","MATNR":"8"}]
2、将string转化为list<>泛型集合
List<DDMX> listMX = null; if (!string.IsNullOrEmpty(param[1])) { listMX = Tools.JSONTools.JSONStringToList<DDMX>(param[1]); } [Serializable] //这个实体类,自由创建,根据你前台页面传入的实体类形式 class DDMX { private string _matnr; private decimal _pt_pcurr; public decimal PT_PCURR { set { _pt_pcurr = value; } get { return _pt_pcurr; } } public string MATNR { set { _matnr = value; } get { return _matnr; } } }
有需要 JSONStringToList 方法的朋友可以给我留言,也可自己网上搜搜
3、将list<>集合转化为 DataTable
DataTable dt = new DataTable(); dt = ListToDatatable.ListToDataTable(listMX);
标签:style blog color io 使用 ar strong for 数据
原文地址:http://www.cnblogs.com/holyson/p/3994145.html