In this blog we will know how
to Display column data into rows.
Here is the Scenario
Series | Items
A | 1
A | 2
A | 3
B | 12
B | 5
C | A
C | D
I would like to display
those data by series group in the front end application as following:
A: 1,2,3
B: 12,5
C: A, D
<% @ Page Language ="C#" AutoEventWireup ="true" CodeBehind ="Default.aspx.cs" Inherits ="Display_column_data_into_rows._Default" %>
<! DOCTYPE html
PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server">
< title > Untitled Page</ title >
</ head >
< body >
< form
id ="form1"
runat ="server">
< div >
< asp : GridView
ID ="GridView1"
runat ="server">
</ asp : GridView >
</ div >
</ form >
</ body >
</ html >
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace
Display_column_data_into_rows
{
public partial
class _Default
: System.Web.UI.Page
{
string connStr = ConfigurationManager .ConnectionStrings["ConnectionString" ].ConnectionString;
SqlCommand com;
string str;
DataSet ds;
SqlDataAdapter sqlda;
protected void Page_Load(object
sender, EventArgs e)
{
if (!IsPostBack)
{
bindgrid();
}
}
void bindgrid()
{
SqlConnection con = new SqlConnection (connStr);
con.Open();
str = "select
Series,Substring((select(', '+ Items) from t1 t where t1.Series= t.Series order
by Series,Items for xml path('')),3,1000)from t1 group by Series" ;
com = new SqlCommand (str, con);
sqlda = new SqlDataAdapter (com);
ds = new DataSet ();
sqlda.Fill(ds, "t1" );
GridView1.DataSource = ds;
GridView1.DataMember = "t1" ;
GridView1.DataBind();
con.Close();
}
}
}
Join the conversation! Your thoughts help the community grow.