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;
斩后知