Nhiều khi trong lập trình chúng ta gặp phải trường hợp cần phải chuyển đổi thể hiện của bảng (từ hàng sang cột). Ví dụ: chúng ta có bảng điểm tổng kết cuối kỳ của sinh viên các môn học đang ở dạng hàng, chúng ta cần chuyển sang cột để hiển thị lên form hoặc web. Lúc này bảng điểm thể hiện tiêu đề hàng là tên sinh viên, tiêu đề cột là môn 1, môn 2 .....
Chúng ta có thể xây dựng hàm như sau:
private DataTable Banghang_bangcot(DataTable Banghang)
{
DataTable Bangketqua = new DataTable();
Bangketqua.Columns.Add(myTable.Columns[0].ColumnName.ToString());
foreach (DataRow inRow in Banghang.Rows)
{
string newColName = inRow[0].ToString();
Bangketqua.Columns.Add(newColName);
}
for (int rCount = 1; rCount <= myTable.Columns.Count - 1; rCount++)
{
DataRow newRow = Bangketqua.NewRow();
newRow[0] = myTable.Columns[rCount].ColumnName.ToString();
for (int cCount = 0; cCount <= myTable.Rows.Count - 1; cCount++)
{
string colValue = Banghang.Rows[cCount][rCount].ToString();
newRow[cCount + 1] = colValue;
}
Bangketqua.Rows.Add(newRow);
}
return Bangketqua;
}