数组,集合 转成DataTable 方法

public static DataTable ToDataTable(IList p_List)

        {

            DataTable _DataTable = new DataTable();

            if (p_List.Count > 0)

            {

                PropertyInfo[] propertys = p_List[0].GetType().GetProperties();

                foreach (PropertyInfo pi in propertys)

                {

                    _DataTable.Columns.Add(pi.Name, pi.PropertyType);

                }



                for (int i = 0; i < p_List.Count; i++)

                {

                    ArrayList tempList = new ArrayList();

                    foreach (PropertyInfo pi in propertys)

                    {

                        object obj = pi.GetValue(p_List[i], null);

                        tempList.Add(obj);

                    }

                    object[] array = tempList.ToArray();

                    _DataTable.LoadDataRow(array, true);

                }

            }

            return _DataTable;

        }

  

你可能感兴趣的:(Datatable)