1. 程式人生 > >將List陣列轉化為datatable

將List陣列轉化為datatable

*List陣列轉化為datatable*

詳細方法見下面的程式碼示例:

//傳入list集合,返回DataTable 
public void LoadToJMDS_Partstr(List<IPsBindInfo> List, ref DataTable dt_ora)
        {
            #region 具體方法部分
            //將List集合類轉換成DataTable
            if (List.Count > 0)
            {
                //獲得List的列名
                PropertyInfo[] propertys = List[0].GetType().GetProperties();
                //迴圈得到列名到DataTable中
                foreach (PropertyInfo pi in propertys)
                {
                    dt_ora.Columns.Add(pi.Name, pi.PropertyType);
                }
                //迴圈獲得List每一列的內容
                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();
                    dt_ora.LoadDataRow(array, true);
                }
            }
            #endregion
        }