Pivot a datagrid?

E

et

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.
 
E

Elton Wang

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
 
E

eagle

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.
 
E

Elton Wang

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].ToString();
}
secondTable.Rows.Add(newRow);
}

HTH
 
E

et

that works! thanks so much for your help.

Elton Wang said:
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].ToString();
}
secondTable.Rows.Add(newRow);
}

HTH

eagle said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top