IList To DataTable

public DataTable IListOut(IList<ViewUserInfo> ResList)
    {
        DataTable TempDT = new DataTable();

        //此处遍历IList的结构并建立同样的DataTable
        System.Reflection.PropertyInfo[] p = ResList[0].GetType().GetProperties();
        foreach (System.Reflection.PropertyInfo pi in p)
        {
            TempDT.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
        }

        for (int i = 0; i < ResList.Count; i++)
        {
            ArrayList TempList = new ArrayList();
            //将IList中的一条记录写入ArrayList
            foreach (System.Reflection.PropertyInfo pi in p)
            {
                object oo = pi.GetValue(ResList[i], null);
                TempList.Add(oo);
            }

            object[] itm = new object[p.Length];
            //遍历ArrayList向object[]里放数据
            for (int j = 0; j < TempList.Count; j++)
            {
                itm.SetValue(TempList[j], j);
            }
            //将object[]的内容放入DataTable
            TempDT.LoadDataRow(itm, true);
        }
        //返回DataTable
        return TempDT;
    }
时间: 2024-11-04 09:36:34

IList To DataTable的相关文章

反射List&lt;M&gt; To DataTable|反射IList To DataTable|反射 DataTable To List&lt;M&gt;

将DataTable集合反射获取 List<M> /// <summary> /// 根据DataTable集合反射获取 List<M> /// </summary> /// <typeparam name="M">泛型实体</typeparam> /// <param name="dt">DataTable</param> /// <returns>实体集合

将IList、DataTable数据导出到Excel

/// <summary> /// IList导出Excel /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list">集合</param> /// <param name="dataColumn">字段</param> /// <param name=&

Ilist&lt;T&gt;转DataTable

本文的意义并不仅仅是为了说明如何将IList转换为DataTable,而是给出一个利用反射来实现对各种数据结构(集合类)相互转换的通用方法的编写思路. 相信很多使用过Nhibernate的朋友都知道,通过NH访问数据库,数据都是以ILIST形式返回的,这就为我们在.NET中使用传统的数据绑定造成了不便.由于NH返回的ILIST所装载的对象往往都是不同的,我们会为每个返回的LIST单独编写转换方法,而利用反射机制却可以做成通用的转换方法. using System; using System.Co

List转Datatable 新方法

方法1,最简单的转换 DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); dt.Rows.Add(new object[]{ 0,"顶层菜单"}); foreach (var cm in comdList) { DataRow dr = dt.NewRow(); dr["id"] = cm.SYS_COMMANDS_ID;

List&lt;T&gt;转换为DataTable

public static class DataTableExtensions    {        /// <summary>        /// 转化一个DataTable        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="list"></param>    

利用反射将任意元素类型 的 List 转为 DataTable

List to DataTable. 利用反射,将任意元素类型 的 List 转为 DataTable. Using System.Collections; Using System.Reflection; ? public static DataTable ToDataTable(IList list) {     DataTable result = new DataTable();     if (list.Count > 0)     {         PropertyInfo[] p

List转DataTable(反射) ; 将泛型集合类转换成DataTable ; 将集合类转换成DataTable

#region 将集合类转换成DataTable /// <summary> /// 将集合类转换成DataTable /// </summary> /// <param name="list">集合</param> /// <returns></returns> public static DataTable ToDataTable(IList list) { DataTable result = new Dat

list&lt;T&gt;与datatable互相转换

public static class DataTableExtensions { /// <summary> /// 转化一个DataTable /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list"></param> /// <returns></returns> publi

TList To DataTable

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Collections; using System.Reflection; namespace DatableToList { class ConvertHelper<T> where T : new() { /// <summary> /// 利用