1. Displaying Horizontal rows to vertical rows in a Grid View
ASP.NET:
<div>
<asp:GridView ID="GridView1" runat="server" ShowHeader="false" AllowSorting="true">
</asp:GridView>
</div>
C#:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text;
using System.IO;
public partial class FlipGridView:System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = FlipDataSet(c());
GridView1.DataBind();
}
public DataSet c()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable("Organization");
DataRow dr;
dt.Columns.Add(new DataColumn("EmployeeNumber", typeof(Int32)));
dt.Columns.Add(new DataColumn("CompanyName", typeof(string)));
dt.Columns.Add(new DataColumn("Address", typeof(string)));
for (int i = 0; i <= 10; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Organization" + i + Environment.NewLine + "Title" + i;
dr[2] = "Address" + i + Environment.NewLine + "Title" + i;
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
return ds;
}
public DataSet FlipDataSet(DataSet my_DataSet)
{
DataSet ds = new DataSet();
foreach (DataTable dt in my_DataSet.Tables)
{
DataTable table = new DataTable();
for (int i = 0; i <= dt.Rows.Count; i++)
{
table.Columns.Add(Convert.ToString(i));
}
DataRow r = null;
for (int k = 0; k < dt.Columns.Count; k++)
{
r = table.NewRow();
r[0] = dt.Columns[k].ToString();
for (int j = 1; j <= dt.Rows.Count; j++)
r[j] = dt.Rows[j - 1][k];
table.Rows.Add(r);
}
ds.Tables.Add(table);
}
return ds;
}
}
VB.NET:
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Net
Imports System.Text
Imports System.IO
Public Partial Class FlipGridView
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
GridView1.DataSource = FlipDataSet(c())
GridView1.DataBind()
End Sub
Public Function c() As DataSet
Dim ds As New DataSet()
Dim dt As New DataTable("Organization")
Dim dr As DataRow
dt.Columns.Add(New DataColumn("EmployeeNumber", GetType(Int32)))
dt.Columns.Add(New DataColumn("OrganizationName", GetType(String)))
dt.Columns.Add(New DataColumn("Address", GetType(String)))
For i As Integer = 0 To 10
dr = dt.NewRow()
dr(0) = i
dr(1) = "Organization" & i & Environment.NewLine & "Title" & i
dr(2) = "Address" & i & Environment.NewLine & "Title" & i
dt.Rows.Add(dr)
Next
ds.Tables.Add(dt)
Return ds
End Function
Public Function FlipDataSet(my_DataSet As DataSet) As DataSet
Dim ds As New DataSet()
For Each dt As DataTable In my_DataSet.Tables
Dim table As New DataTable()
For i As Integer = 0 To dt.Rows.Count
table.Columns.Add(Convert.ToString(i))
Next
Dim r As DataRow = Nothing
For k As Integer = 0 To dt.Columns.Count - 1
r = table.NewRow()
r(0) = dt.Columns(k).ToString()
For j As Integer = 1 To dt.Rows.Count
r(j) = dt.Rows(j - 1)(k)
Next
table.Rows.Add(r)
Next
ds.Tables.Add(table)
Next
Return ds
End Function
End Class
ASP.NET:
<div>
<asp:GridView ID="GridView1" runat="server" ShowHeader="false" AllowSorting="true">
</asp:GridView>
</div>
C#:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.Text;
using System.IO;
public partial class FlipGridView:System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = FlipDataSet(c());
GridView1.DataBind();
}
public DataSet c()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable("Organization");
DataRow dr;
dt.Columns.Add(new DataColumn("EmployeeNumber", typeof(Int32)));
dt.Columns.Add(new DataColumn("CompanyName", typeof(string)));
dt.Columns.Add(new DataColumn("Address", typeof(string)));
for (int i = 0; i <= 10; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Organization" + i + Environment.NewLine + "Title" + i;
dr[2] = "Address" + i + Environment.NewLine + "Title" + i;
dt.Rows.Add(dr);
}
ds.Tables.Add(dt);
return ds;
}
public DataSet FlipDataSet(DataSet my_DataSet)
{
DataSet ds = new DataSet();
foreach (DataTable dt in my_DataSet.Tables)
{
DataTable table = new DataTable();
for (int i = 0; i <= dt.Rows.Count; i++)
{
table.Columns.Add(Convert.ToString(i));
}
DataRow r = null;
for (int k = 0; k < dt.Columns.Count; k++)
{
r = table.NewRow();
r[0] = dt.Columns[k].ToString();
for (int j = 1; j <= dt.Rows.Count; j++)
r[j] = dt.Rows[j - 1][k];
table.Rows.Add(r);
}
ds.Tables.Add(table);
}
return ds;
}
}
VB.NET:
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Net
Imports System.Text
Imports System.IO
Public Partial Class FlipGridView
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
GridView1.DataSource = FlipDataSet(c())
GridView1.DataBind()
End Sub
Public Function c() As DataSet
Dim ds As New DataSet()
Dim dt As New DataTable("Organization")
Dim dr As DataRow
dt.Columns.Add(New DataColumn("EmployeeNumber", GetType(Int32)))
dt.Columns.Add(New DataColumn("OrganizationName", GetType(String)))
dt.Columns.Add(New DataColumn("Address", GetType(String)))
For i As Integer = 0 To 10
dr = dt.NewRow()
dr(0) = i
dr(1) = "Organization" & i & Environment.NewLine & "Title" & i
dr(2) = "Address" & i & Environment.NewLine & "Title" & i
dt.Rows.Add(dr)
Next
ds.Tables.Add(dt)
Return ds
End Function
Public Function FlipDataSet(my_DataSet As DataSet) As DataSet
Dim ds As New DataSet()
For Each dt As DataTable In my_DataSet.Tables
Dim table As New DataTable()
For i As Integer = 0 To dt.Rows.Count
table.Columns.Add(Convert.ToString(i))
Next
Dim r As DataRow = Nothing
For k As Integer = 0 To dt.Columns.Count - 1
r = table.NewRow()
r(0) = dt.Columns(k).ToString()
For j As Integer = 1 To dt.Rows.Count
r(j) = dt.Rows(j - 1)(k)
Next
table.Rows.Add(r)
Next
ds.Tables.Add(table)
Next
Return ds
End Function
End Class