IList类转换成DataTable
生活随笔
收集整理的這篇文章主要介紹了
IList类转换成DataTable
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 將集合類轉換成DataTable/// </summary>/// <param name="list">集合</param>/// <returns></returns>public static DataTable ToDataTable(IList list){DataTable result = new DataTable();if (list.Count > 0){PropertyInfo[] propertys = list[0].GetType().GetProperties();foreach (PropertyInfo pi in propertys){result.Columns.Add(pi.Name, pi.PropertyType);}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;}/// <summary>/// 將泛型集合類轉換成DataTable/// </summary>/// <typeparam name="T">集合項類型</typeparam>/// <param name="list">集合</param>/// <returns>數據集(表)</returns>public static DataTable ToDataTable<T>(IList<T> list){return ConvertX.ToDataTable<T>(list, null);}/// <summary>/// 將泛型集合類轉換成DataTable/// </summary>/// <typeparam name="T">集合項類型</typeparam>/// <param name="list">集合</param>/// <param name="propertyName">需要返回的列的列名</param>/// <returns>數據集(表)</returns>public static DataTable ToDataTable<T>(IList<T> list, params string[] propertyName){List<string> propertyNameList = new List<string>();if (propertyName != null)propertyNameList.AddRange(propertyName);DataTable result = new DataTable();if (list.Count > 0){PropertyInfo[] propertys = list[0].GetType().GetProperties();foreach (PropertyInfo pi in propertys){if (propertyNameList.Count == 0){result.Columns.Add(pi.Name, pi.PropertyType);}else{if (propertyNameList.Contains(pi.Name))result.Columns.Add(pi.Name, pi.PropertyType);}}for (int i = 0; i < list.Count; i++){ArrayList tempList = new ArrayList();foreach (PropertyInfo pi in propertys){if (propertyNameList.Count == 0){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}else{if (propertyNameList.Contains(pi.Name)){object obj = pi.GetValue(list[i], null);tempList.Add(obj);}}}object[] array = tempList.ToArray();result.LoadDataRow(array, true);}}return result;}
?
轉載于:https://www.cnblogs.com/jeffrey77/archive/2012/07/18/2598094.html
總結
以上是生活随笔為你收集整理的IList类转换成DataTable的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linq to entity 基础
- 下一篇: 阿里国际数字商业集团CEO蒋凡:国际业务