本文共 1032 字,大约阅读时间需要 3 分钟。
/// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list">泛类型集合</param> /// <returns></returns> public System.Data.DataTable ListToDataTable<T>(List<T> entitys) { //检查实体集合不能为空 if (entitys == null || entitys.Count < 1) { throw new Exception("需转换的集合为空"); } //取出第一个实体的所有Propertie Type entityType = entitys[0].GetType(); System.Reflection.PropertyInfo[] entityProperties = entityType.GetProperties(); //生成DataTable的structure //生产代码中,应将生成的DataTable结构Cache起来,此处略 System.Data.DataTable dt = new System.Data.DataTable(); for (int i = 0; i < entityProperties.Length; i++) { dt.Columns.Add(entityProperties[i].Name); } //将所有entity添加到DataTable中 foreach (object entity in entitys) { object[] entityValues = new object[entityProperties.Length]; for (int i = 0; i < entityProperties.Length; i++) { //entityValues[i] = entityProperties[i].GetValue(entity, null); object valuetemp = entityProperties[i].GetValue(entity, null); if (valuetemp != null) { entityValues[i] = valuetemp; } } dt.Rows.Add(entityValues); } return dt; }转载地址:http://gtzmi.baihongyu.com/