Display Rows as Columns in Gridview
Display
Rows as Columns in Gridview in Asp.net using C#, VB.NET
By: Suraj singh negi Feb 7, 2013
Introduction:
Here I will explain how to display gridview columns as rows in asp.net or display gridview rows as columns in asp.net using C# and VB.Net.
Here I will explain how to display gridview columns as rows in asp.net or display gridview rows as columns in asp.net using C# and VB.Net.
Description:
In previous post I explained jQuery Rating example in asp.net, SQL Query to get latest unique records,SQL Server Get records without weekends, save or upload files to server in asp.net, Download files folder in asp.net and many articles relating to asp.net, gridview, SQL Server. Now I will explain how to display gridview columns as rows in asp.net.
In previous post I explained jQuery Rating example in asp.net, SQL Query to get latest unique records,SQL Server Get records without weekends, save or upload files to server in asp.net, Download files folder in asp.net and many articles relating to asp.net, gridview, SQL Server. Now I will explain how to display gridview columns as rows in asp.net.
If you want change columns as rows we
need to write code like as shown below
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Convert
Gridview Columns as Rows in Asp.net</title>
<style type="text/css">
body
{
font-family:Calibri;
}
.gridcss
{
background:#df5015;
font-weight:bold;
color:White;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td><b>Normal
Gridview</b></td>
<td> </td>
<td><b>Converted
Gridview</b></td>
</tr>
<tr>
<td>
<asp:GridView ID="gvnormal" runat="server">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
</td>
<td> </td>
<td>
<asp:GridView ID="gvconverted" runat="server" OnRowDataBound=gvconverted_RowDataBound>
</asp:GridView>
</td>
</tr>
</table>
</form>
</body>
</html>
|
Now in code behind add following
namespace references
C# Code
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
|
After that write the following code in
code behind
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGridviewData();
}
}
protected void BindGridviewData()
{
DataTable dt
= new DataTable();
dt.Columns.Add("UserId", typeof(Int32));
dt.Columns.Add("UserName", typeof(string));
dt.Columns.Add("Education", typeof(string));
dt.Columns.Add("Location", typeof(string));
DataRow dtrow
= dt.NewRow(); //
Create New Row
dtrow["UserId"]
= 1; //Bind Data to Columns
dtrow["UserName"]
= "SureshDasari";
dtrow["Education"]
= "B.Tech";
dtrow["Location"]
= "Chennai";
dt.Rows.Add(dtrow);
dtrow =
dt.NewRow(); // Create New Row
dtrow["UserId"]
=
2; //Bind Data to Columns
dtrow["UserName"]
= "MadhavSai";
dtrow["Education"]
= "MBA";
dtrow["Location"]
= "Nagpur";
dt.Rows.Add(dtrow);
dtrow = dt.NewRow(); // Create New Row
dtrow["UserId"]
=
3; //Bind Data to Columns
dtrow["UserName"]
= "MaheshDasari";
dtrow["Education"]
= "B.Tech";
dtrow["Location"]
= "Nuzividu";
dt.Rows.Add(dtrow);
gvnormal.DataSource = dt;
gvnormal.DataBind();
gvconverted.DataSource =
ConvertColumnsAsRows(dt);
gvconverted.DataBind();
gvconverted.HeaderRow.Visible = false;
}
protected void gvconverted_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType
== DataControlRowType.DataRow)
{
e.Row.Cells[0].CssClass = "gridcss";
}
}
// This function
is used to convert columns to rows
public DataTable ConvertColumnsAsRows(DataTable dt)
{
DataTable dtnew=new DataTable();
//Convert all the
rows to columns
for (int i
= 0; i <= dt.Rows.Count; i++)
{
dtnew.Columns.Add(Convert.ToString(i));
}
DataRow dr;
// Convert All
the Columns to Rows
for (int j
= 0; j < dt.Columns.Count; j++)
{
dr = dtnew.NewRow();
dr[0] = dt.Columns[j].ToString();
for (int k
= 1; k <= dt.Rows.Count; k++)
dr[k] = dt.Rows[k - 1][j];
dtnew.Rows.Add(dr);
}
return dtnew;
}
|
|
VB.NET Code
Imports System.Data
Imports System.Web.UI.WebControls
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
BindGridviewData()
End If
End Sub
Protected Sub BindGridviewData()
Dim dt As New DataTable()
dt.Columns.Add("UserId", GetType(Int32))
dt.Columns.Add("UserName", GetType(String))
dt.Columns.Add("Education", GetType(String))
dt.Columns.Add("Location", GetType(String))
Dim dtrow As DataRow
= dt.NewRow()
' Create New Row
dtrow("UserId")
= 1
'Bind Data to
Columns
dtrow("UserName")
= "SureshDasari"
dtrow("Education")
= "B.Tech"
dtrow("Location")
= "Chennai"
dt.Rows.Add(dtrow)
dtrow = dt.NewRow()
' Create New Row
dtrow("UserId")
= 2
'Bind Data to
Columns
dtrow("UserName")
= "MadhavSai"
dtrow("Education")
= "MBA"
dtrow("Location")
= "Nagpur"
dt.Rows.Add(dtrow)
dtrow = dt.NewRow()
' Create New Row
dtrow("UserId")
= 3
'Bind Data to
Columns
dtrow("UserName")
= "MaheshDasari"
dtrow("Education")
= "B.Tech"
dtrow("Location")
= "Nuzividu"
dt.Rows.Add(dtrow)
gvnormal.DataSource = dt
gvnormal.DataBind()
gvconverted.DataSource =
ConvertColumnsAsRows(dt)
gvconverted.DataBind()
gvconverted.HeaderRow.Visible = False
End Sub
Protected Sub gvconverted_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType
= DataControlRowType.DataRow Then
e.Row.Cells(0).CssClass = "gridcss"
End If
End Sub
' This function
is used to convert columns to rows
Public Function ConvertColumnsAsRows(ByVal dt As DataTable) As DataTable
Dim dtnew As New DataTable()
'Convert all the
rows to columns
For i As Integer =
0 To dt.Rows.Count
dtnew.Columns.Add(Convert.ToString(i))
Next
Dim dr As DataRow
' Convert All the
Columns to Rows
For j As Integer =
0 To dt.Columns.Count
- 1
dr = dtnew.NewRow()
dr(0) = dt.Columns(j).ToString()
For k As Integer =
1 To dt.Rows.Count
dr(k) = dt.Rows(k - 1)(j)
Next
dtnew.Rows.Add(dr)
Next
Return dtnew
End Function
End Class
|
Demo

Comments
Post a Comment