Click here to Skip to main content
16,012,116 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi,
i am working on dynamic header cells for grid
i have these two tables

1st grid : SNO DPMU Established
2nd grid : SNO TPMU Established

and my code is

C#
 public void RenderHeader(HtmlTextWriter writer, Control ctl)
        {
            ArrayList Headers = DynamicHeaders(headevalues);

            for (int j = 0; j < Headers.Count; j++)
            {
                if (j > 0)
                {
                    writer.Write("<table><tbody><tr>");
                }
                List<dynamicheadercell> HeaderRow = (List<dynamicheadercell>)Headers[j];
                for (int i = 0; i < HeaderRow.Count; i++)
                {
                    TableCell item = new TableCell();
                    item.Text = HeaderRow[i].Header;
                    item.ColumnSpan = HeaderRow[i].ColSpan;
                    item.RowSpan = HeaderRow[i].RowSpan;
                    item.HorizontalAlign = HorizontalAlign.Center;
                    item.VerticalAlign = VerticalAlign.Middle;
                    item.Font.Bold = true;
                    item.Font.Name = "Calibri";
                    item.Font.Size = 11;
                    item.BackColor = Color.FromName("#e4e4e4");
                    // item.BackColor = Color.Transparent;
                    item.RenderControl(writer);

                }
                if (j < Headers.Count - 1)
                {
                    writer.Write("</dynamicheadercell></dynamicheadercell></tr></tbody></table>");
                }
                //writer.WriteEndTag("TR");
                //if (j < Headers.Count - 1)
                //    writer.RenderBeginTag("TR");
            }

        }


protected void dtgvDataReports_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            dm.headervalues("SNO,DPMU,Established");
            e.Row.SetRenderMethodDelegate(new RenderMethod(dm.RenderHeader));
        }
    }


protected void dtgvDataReports_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
dm.headervalues("SNO,TPMU,Established"");
e.Row.SetRenderMethodDelegate(new RenderMethod(dm.RenderHeader));
}
}

using this row databound 1st grid is fine but 2nd grid also showing first grid headers instead of 2nd grid headers, then i again write another RenderHeader1 for 2nd grid...my question is if i have n grids is it necessary to write no. of RenderHeaders or any code for that plz help me in this situation

C#
public void RenderHeader1(HtmlTextWriter writer, Control ctl)
        {

            ArrayList Headers = DynamicHeaders(headevalues);

            for (int j = 0; j < Headers.Count; j++)
            {
                if (j > 0)
                {
                    writer.Write("<table><tbody><tr>");
                }
                List<dynamicheadercell> HeaderRow = (List<dynamicheadercell>)Headers[j];
                for (int i = 0; i < HeaderRow.Count; i++)
                {
                    TableCell item = new TableCell();
                    if (HeaderRow[i].Header == "DPMU")
                    {
                        item.Text = "TPMU";
                    }
                    else
                    {
                        item.Text = HeaderRow[i].Header;
                    }
                    item.ColumnSpan = HeaderRow[i].ColSpan;
                    item.RowSpan = HeaderRow[i].RowSpan;
                    item.HorizontalAlign = HorizontalAlign.Center;
                    item.VerticalAlign = VerticalAlign.Middle;
                    item.Font.Bold = true;
                    item.Font.Name = "Calibri";
                    item.Font.Size = 11;
                    item.BackColor = Color.FromName("#e4e4e4");
                    // item.BackColor = Color.Transparent;
                    item.RenderControl(writer);

                }
                if (j < Headers.Count - 1)
                {
                    writer.Write("</dynamicheadercell></dynamicheadercell></tr></tbody></table>");
                }
            }

        }




if i have n grids then what i will do instead of writing no. of RenderHeaders
please help me very urgent task it it...
thanks in advance
Posted
Updated 7-Jan-15 19:00pm
v5

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900