DataTable 创建并赋值全过程 List转DataTable
DataTable 创建并赋值全过程 List转DataTable
有一个List数据源,需要转成DataTable:
基本步骤:
1、创建一个新的DataTable
2、创建DataTable的各个列(DataTable.Columns)
3、单行数据赋值(DataRow):通过名称赋值
4、单行数据添加到新的DataTable中(DataTable.Rows.Add(dr.ItemArray))
示例代码:
bool isNewTable = true;/*省略部分代码*/int FieldCount = sqlDr.FieldCount; DataTable newDt = new DataTable();//创建表的各列for (int i = 0; i < FieldCount; i++) { var name = sqlDr.GetName(i); var TypeName = sqlDr.GetDataTypeName(i); var FieldType = sqlDr.GetFieldType(i); var data = sqlDr[i];//.ToString() //加一列 //dt.Columns.Add(name, System.Type.GetType("System.String")); newDt.Columns.Add(name, FieldType); if (isNewTable) { retDt.Columns.Add(name, FieldType); } }//单行数据赋值DataRow dr = newDt.NewRow();for (int i = 0; i < FieldCount; i++) { var name = sqlDr.GetName(i); var TypeName = sqlDr.GetDataTypeName(i); var FieldType = sqlDr.GetFieldType(i); var data = sqlDr[i];//.ToString() dr[name] = data; //通过名称赋值 //dr[i] = data;//通过索引赋值} newDt.Rows.Add(dr.ItemArray);//一行数据//retDt.ImportRow(newDt.Rows[0]);retDt.Rows.Add(dr.ItemArray);/*省略部分代码*/isNewTable = false;