zoukankan      html  css  js  c++  java
  • DataTable的几个函数

    1、调整DataTable列的顺序

    dt.Columns[1].SetOrdinal(0); //将第1列改成第0列

    2、复制DataRow

    使用Add方法复制DataRow时会遇到该行已属于另一个表,用ImportRow就可以了。

    dt.ImportRow(row);

    3、行列倒置函数

            public static DataTable ColumnToRow(DataTable src_dt, int columnIndex) //columnIndex 用来当作新列名的列
            {
                DataTable dt = new DataTable();
                dt.Columns.Add(src_dt.Columns[columnIndex].ColumnName);
                List<string> lstColumnName = new List<string>();
                foreach (DataRow dr in src_dt.Rows)
                {
                    if (lstColumnName.Contains(dr[columnIndex].ToString())) continue;
                    if (dr[columnIndex].ToString() == string.Empty) continue;
                    lstColumnName.Add(dr[columnIndex].ToString());
                    dt.Columns.Add(dr[columnIndex].ToString());
                }

                int n = src_dt.Columns.Count;
                for (int i = 0; i < n; i++)
                {
                    if (i == columnIndex) continue; //如果是被当作列名的列,则跳过

                    DataRow new_dr = dt.NewRow();
                    string columnName = src_dt.Columns[i].ColumnName;
                    new_dr[0] = columnName;

                    foreach (DataRow dr in src_dt.Rows)
                    {
                        if (dr[columnIndex].ToString() == string.Empty) continue;
                        string newColumnName = dr[columnIndex].ToString();
                        new_dr[newColumnName] = dr[columnName];
                    }

                    dt.Rows.Add(new_dr);
                }
                return dt;
            }

  • 相关阅读:
    Jetty容器集群配置Session存储到MySQL、MongoDB
    js清除浏览器缓存的几种方法
    Maven学习 (四) 使用Nexus搭建Maven私服
    ActiveMQ入门实例(转)
    SOAP Webservice和RESTful Webservice
    Redis集群搭建与简单使用
    如何设置SVN提交时强制添加注释
    linux下vi命令大全
    锦隆驾校考试场---大路
    锦隆驾校考试场---小路
  • 原文地址:https://www.cnblogs.com/chshnan/p/2393629.html
Copyright © 2011-2022 走看看