• 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;
    斩后知
  • 相关阅读:
    Java8 中的 Optional
    阿里云查看本服务器 公网ip地址 命令
    Linux添加alias简化命令
    kafka consumer 配置详解
    Kafka查看topic、consumer group状态命令
    ConcurrentHashMap源码分析
    HashMap源码分析
    Java使用Aspose组件进行多文档间的转换操作
    个人Vim配置(即vim目录下vimrc_)
    暑假个人小结
  • 原文地址:https://www.cnblogs.com/dyhao/p/14682225.html
Copyright © 2020-2023  润新知