您的位置:首页 > 其它

DataTable行列转置

2014-02-19 16:06 232 查看
DataTable行列转置,实现横向显示数据记录

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

横向

城市成都深圳北京上海大连
员工人数108936
以前早就遇到过需要横向显示数据记录的问题,但都用其他方法敷衍过去了,今天又遇到这个问题。心里不是滋味,狠了一下心,决定想想怎么实现。

最后还是决定在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的数据源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: