• 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的数据源。
  • 相关阅读:
    Vue中父子组件的通讯
    字符串svg代码转 base64 url
    Vue 中封装 websocket
    vue中使用Echarts,销毁原有的图表进行重新赋值
    Vue中常用表格(增删改查)
    刷新组件
    hdu1272小希的迷宫(并查集+判环)
    九余数定理
    Runtime Error可能的情况
    hdu2035 人见人爱A^B题解
  • 原文地址:https://www.cnblogs.com/allanyang/p/574501.html
Copyright © 2020-2023  润新知