【IT168技术文档】 C#中实现行列转换
在DataTable中有一列数据
eg
name
01
02
03
04
要显示成2列2行形式
name1 name2
01 02
03 04
C# code
DataTable CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("id", typeof(Int32)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dt.Rows.Add(dr);
}
return dt;
}
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id1", typeof(Int32)));
dt.Columns.Add(new DataColumn("id2", typeof(Int32)));
DataTable srcDT = CreateDataSource();
DataRow dr = dt.NewRow();
for (int x = 0; x < srcDT.Rows.Count; x++)
{
if (x % 2 == 1)
{
dr[1] = srcDT.Rows[x][0];
dt.Rows.Add(dr);
dr = dt.NewRow();
}
else
{
dr[0] = srcDT.Rows[x][0];
}
}
if (srcDT.Rows.Count % 2 == 1)
{
dt.Rows.Add(dr);
}