Thursday, February 22, 2007

Vertical DataGrid With Paging

Few days earlier a friend had asked me how to implement a vertical datagrid with paging support in Asp.net. So wrote up this code.


public DataTable Vertical(DataTable Table,int Cols)
{
DataTable dtResult = new DataTable();
dtResult.Columns.Add("Header");
for(int i=0 ;i < Cols ;i++)
{
dtResult.Columns.Add(i.ToString());
}
for(int j=0;j < Table.Rows.Count; j+=Cols)
{
for(int i=0;i < Table.Columns.Count;i++)
{
DataRow drNew = dtResult.NewRow();
drNew["Header"] = Table.Columns[i].ToString();
for(int k=j;k < j+Cols && k < Table.Rows.Count;k++)
{
drNew[(k%Cols).ToString()] = Table.Rows[k][i];
}
dtResult.Rows.Add(drNew);
}
}
return dtResult;
}