zoukankan      html  css  js  c++  java
  • 关于DataTable添加新列到指定列的方法

    在开发新项目的时候发现了一个问题

    dtResult.Columns.Add()方法只能将指定的列添加到DataTable的列的最后的位置,但是不能添加到指定的列上。举例来说,假设dtResult总共有3列(列名分别是col1,col2,col3),我们新定义一个列,列名是col100,那么 dtResult.Columns.Add(col100)方法只能将列添加到第四列,这个时候新表将变成这样——表列名依次是(col1,col2,col3,col100)而,用户如果想把列添加到第二列——使表变成表列名依次是(col1,col100,col2,col3)——这个方法就不行了,那么有什么其他的方法吗?

    网上搜索

    提供了一些方法,其中有一个方法是可以实现的,就是重新构造一张表,让新表列定义成列依次是col1,col100,col2,col3,然后用for循环,将dtResult表的数据写入到新表中,但是这样的循环太麻烦,得自己去构造新表,而且,如果数据量比较大的话,执行效率也会有问题,那么除了这种方法,有没有其他什么方法呢?

    于是继续往上搜索

    searching。。。。

    然后找到了一个方法:

    if (!dtResult.Columns.Contains("col100"))
    {
    dtResult.Columns.Add("col100", typeof(Decimal), "0.00").SetOrdinal(1);
    }

    if判断是判断表中是否存在列名为col100的,如果存在当然就不能重复添加了,如果不存在,就将列加入进去,这样,你想要将新列添加到DataTable指定列就实现了。

    此方法希望对你的开发有所帮助。

  • 相关阅读:
    Wannafly Camp 2020 Day 2D 卡拉巴什的字符串
    [POI2010] GIL-Guilds
    Wannafly Camp 2020 Day 1D 生成树
    [AH2017/HNOI2017] 影魔
    机器学习之决策树
    终端多窗口分屏Terminator
    python的面对对象
    安装 Google BBR 加速VPS网络
    DNSLOG在渗透测试中的玩法儿
    如何利用GitHub搜索敏感信息
  • 原文地址:https://www.cnblogs.com/kdkler/p/5504328.html
Copyright © 2011-2022 走看看