Code Block
private void Form1_Load(object sender, EventArgs e)
{
DataTable datatable = new DataTable();
datatable.Columns.Add("col1");
datatable.Columns.Add("col2");
datatable.Columns.Add("col3");
datatable.Columns.Add("col4");
datatable.Columns.Add("col5");
datatable.Columns.Add("col6");
datatable.Columns.Add("col7");
datatable.Columns.Add("col8");
datatable.Columns.Add("col9");
datatable.Columns.Add("col10");
datatable.Columns.Add("col11");
datatable.Columns.Add("col12");
datatable.Columns.Add("col13");
datatable.Columns.Add("col14");
datatable.Rows.Add("ABC", "bcd","ABC", "bcd","ABC", "bcd","ABC", "bcd","ABC", "bcd","ABC", "bcd","ABC", "bcd");
datatable.Rows.Add("bcd", "ABC", "bcd", "ABC", "bcd", "ABC", "bcd", "ABC", "bcd", "ABC", "bcd", "ABC", "bcd", "ABC");
DataGrid datagrid = new DataGrid();
datagrid.Width = 300;
datagrid.Height = 400;
datagrid.DataSource = Pivot(datatable);
this.Controls.Add(datagrid);
}
public DataTable Pivot(DataTable source)
{
DataTable dest = new DataTable();
dest.Columns.Add(source.Columns[0].ColumnName);
foreach (DataRow r in source.Rows)
{
dest.Columns.Add(r[0].ToString());
}
for (int i = 1; i < source.Columns.Count; i++)
{
DataRow row = dest.NewRow();
row[0] = source.Columns[i].ColumnName;
dest.Rows.Add(row);
}
for (int i = 0; i < source.Rows.Count; i++)
{
for (int col = 1; col < source.Columns.Count; col++)
{
dest.Rows[col - 1][i + 1] = source.Rows[i][col];
}
}
dest.AcceptChanges();
return dest;
}