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
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.RenderControl(writer);
}
if (j < Headers.Count - 1)
{
writer.Write("</dynamicheadercell></dynamicheadercell></tr></tbody></table>");
}
}
}
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
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.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