Hi Team,
I have to bind datas to radgrid where the number of columns are more which leads to very slow performance. Below is the code snippet that am using.
I have to bind datas to radgrid where the number of columns are more which leads to very slow performance. Below is the code snippet that am using.
string connString = ConfigurationManager.ConnectionStrings["AnswergenDB"].ConnectionString;
SqlConnection sconn = new SqlConnection(connString);
sconn.Open();
SqlCommand sqlcmd = new SqlCommand("sp_Pivot", sconn);
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.Add("@pivot", "column84");
sqlcmd.Parameters.Add("@table", "Level_Zero");
sqlcmd.Parameters.Add("@expr1", "SUM(Level_Zero.Column35)");
sqlcmd.Parameters.Add("@expr2", "SUM(Level_Zero.Column52)");
sqlcmd.Parameters.Add("@expr3", "SUM(Level_Zero.Column33)");
sqlcmd.Parameters.Add("@exprcolumn1", "Payroll");
sqlcmd.Parameters.Add("@exprcolumn2", "Total Billed");
sqlcmd.Parameters.Add("@exprcolumn3", "Op Income");
SqlDataReader pvtdr = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable pvtdt = new DataTable();
pvtdt.Load(pvtdr);
string pvtqry = string.Empty;
foreach (DataRow row in pvtdt.Rows)
{
for (int i = 0; i < pvtdt.Columns.Count-1; i++)
{
pvtqry += row[i].ToString();
}
}
pvtqry = pvtqry.Substring(0, pvtqry.Length - 1);
pvtqry = "select column2, " + pvtqry + " from level_zero group by column2 order by column2";
sconn.Open();
sqlcmd = new SqlCommand(pvtqry, sconn);
sqlcmd.CommandType = CommandType.Text;
pvtdr = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);
DataTable pvttable = new DataTable();
pvttable.Load(pvtdr);
PivotGrid.DataSource = pvttable;
PivotGrid.DataBind();
The above query returns 1024 columns with 400 rows which takes about 6 to 7 minutes to bind the datas to radgrid. The query is getting executed in 8 secs, but binding it to the grid takes time. Since the query building is dynamic, there are possiblities to have more columns binded. Can some one suggest me in binding the records faster.
Thanks in advance.
Sangeetha