网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > ASP.Net精品代码 > 正文

IList及泛型集合类转换DataTable

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

  将集合类转换成DataTable

  ///

  /// "list">集合

  ///

  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;

  }

  ///

  /// 将泛型集合类转换成DataTable

  ///

  /// "T">集合项类型

  /// "list">集合

  /// 数据集(表)

  public static DataTable ToDataTable(IList list)

  ...{

  return ConvertX.ToDataTable(list, null);

  }

  ///

  /// 将泛型集合类转换成DataTable

  ///

  /// "T">集合项类型

  /// "list">集合

  /// "propertyName">需要返回的列的列名

  /// 数据集(表)

  public static DataTable ToDataTable(IList 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;

  }

  • 下一篇资讯: JS关键字加亮
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师