首页 > 代码库 > 讲List转换成DataTable

讲List转换成DataTable

/// <summary>        /// 讲list集合转换成datatable        /// </summary>        /// <param name="list"></param>        /// <returns></returns>        public static System.Data.DataTable ListToDataTable(IList list)        {            System.Data.DataTable result = new System.Data.DataTable();            if (list.Count > 0)            {                PropertyInfo[] propertys = list[0].GetType().GetProperties();                foreach (PropertyInfo pi in propertys)                {                    //获取类型                    Type colType = pi.PropertyType;                    //当类型为Nullable<>时                    if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>)))                    {                        colType = colType.GetGenericArguments()[0];                    }                    result.Columns.Add(pi.Name, colType);                }                for (int i = 0; i < list.Count; i++)                {                    ArrayList tempList = new ArrayList();                    foreach (PropertyInfo pi in propertys)                    {                        object obj = pi.GetValue(list[i], null);                        tempList.Add(obj);                    }                    object[] array = tempList.ToArray();                    result.LoadDataRow(array, true);                }            }            return result;        }

 

讲List转换成DataTable