zoukankan      html  css  js  c++  java
  • DataTable行列转置,实现横向显示数据记录

    城市 员工人数
    成都 10
    深圳 8
    北京 9
    上海 3
    大连

    6

     


    横向
    城市 成都 深圳 北京 上海 大连
    员工人数 10 8 9 3 6


    以前早就遇到过需要横向显示数据记录的问题,但都用其他方法敷衍过去了,今天又遇到这个问题。心里不是滋味,狠了一下心,决定想想怎么实现。
    最后还是决定在datatable中进行行列的转置,所以先将您的数据都填充到datatable中。
    假设您的原始datatale是dt,在dt后加入下面的语句


          DataTable dtNew = new DataTable();
            dtNew.Columns.Add("ColumnName", typeof(string));
            for (int i = 0; i < dt.Rows.Count; i++)
           {
                dtNew.Columns.Add("Column" + (i + 1).ToString(), typeof(string));
           }
            foreach (DataColumn dc in dt.Columns)
            {
                DataRow drNew = dtNew.NewRow();
                drNew["ColumnName"] = dc.ColumnName;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    drNew[i + 1] = dt.Rows[i][dc].ToString();
                }
                dtNew.Rows.Add(drNew);
            }


    经过上面的语句,您的dt就已经成功转置了,你可以直接用它作为datagrid 或者gridview的数据源。
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/allanyang/p/574501.html
Copyright © 2011-2022 走看看