Groups | Blog | Home
all groups > asp.net datagrid control > september 2005 >

asp.net datagrid control : Pivot a datagrid?



et
9/17/2005 7:56:53 AM
I seem to remember seeing an article on how to reverse the data in a grid,
so that each record creates a column rather than a row? Does anyone know
how to do this? Thanks for your help.

Elton Wang
9/18/2005 10:35:39 AM
Once rendering to cliend-side, a datagrid actually is html table. Hence if
you just want to show data in a grid, you can manually create html table
based on your data source, in a revering row/column arrangement.



Or you can reverse row/column in data source. For example, the data source
is a 8 columns and 5 rows datatable, you create a datatable with 5 columns
then assign data from first datatable to second datatable. After binding
datagrid's data source to the second datatable, it shows data in a reversing
behavior.



HTH





[quoted text, click to view]

eagle
9/21/2005 10:08:37 AM
That's an idea, although not sure how to do the second one. You mean item
by item I would have to place into the 2nd table? Could you give me some
code or pseudo code examples?

I also want pagination, hence the reason I am sticking to a grid. Thanks
for you rhelp.


[quoted text, click to view]

Elton Wang
9/21/2005 2:27:41 PM
Following is code snippet :

DataTable secondTable = new DataTable();
DataColumn col;
for (int I = 0; I < datasource.Rows.Count; I++)
{
col = new DataColumn("Col" + I.ToString(),
Type.GetType("System.String"));
secondTable.Columns.Add(col);
}

DataRow newRow;
for (int I = 0; I < datasource.Columns.Count; I++)
{
newRow = secondTable.NewRow();
for (int J = 0; J< datasource.Rows.Count; J++)
{
newRow[J] = datasource.Rows[J][I].ToString();
}
secondTable.Rows.Add(newRow);
}

HTH

[quoted text, click to view]

et
9/22/2005 11:44:09 AM
that works! thanks so much for your help.

[quoted text, click to view]

AddThis Social Bookmark Button