技术开发 频道

C#中实现行列转换

【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);

 }
 

 

0
相关文章