初始表格
需要进行行列转置 转换后的效果
实现代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
void InitTable() { var dataTable = new DataTable(); dataTable.Columns.Add("姓名"); dataTable.Columns.Add("年龄"); dataTable.Columns.Add("地址"); dataTable.Rows.Add("用户1", "1岁", "住址1"); dataTable.Rows.Add("用户2", "2岁", "住址2"); dataTable.Rows.Add("用户3", "3岁", "住址3"); dataTable.Rows.Add("用户4", "4岁", "住址4"); dataTable.Rows.Add("用户5", "5岁", "住址5");
//转置table var dvgTable = DataTableRowConvertToColumn(dataTable); magicDataGridView1.DataSource = dvgTable; }
DataTable DataTableRowConvertToColumn(DataTable dataTable) { var dvgTable = new DataTable(); dvgTable.Columns.Add("列名"); for (int i = 1; i <= dataTable.Rows.Count; i++) { dvgTable.Columns.Add(i.ToString()); } for (int i = 0; i < dataTable.Columns.Count; i++) { object[] obj = new object[dataTable.Rows.Count + 1]; obj[0] = dataTable.Columns[i].ColumnName; for (int j = 1; j <= dataTable.Rows.Count; j++) { obj[j] = dataTable.Rows[j - 1][i]; } dvgTable.Rows.Add(obj); } return dvgTable; } |