Witam. Do jednego istniejącego projektu muszę napisać metodę, która wygeneruje dodatkowe nagłowki w tabeli.
Problem polega na tym, że w tym projekcie to nie chce działać. BreakPoint przechodzi przez każdą linię kodu. Próbowałem to wywoływać na 3 różne sposoby:
- override void Render (HtmlTextWriterwriter)
- zdarzenie OnPrerender
- zdarzenie OnRowsCreated
i nic
Najciekawsze jest to że w kazdym innym projekcie to działa, i GridView sie renderuje odpowiednio na 3 podane powyżej sposoby. Coś w tym projeckie to ewidentnie blokuje.
Byłbym wdzieczny za pomoc. Może ktoś kiedyś mial podobny problem i bedzie mi potrafił pomoc.
dzieki
Ponizej zamieszczam kod
protected override void Render(HtmlTextWriter writer)
{
DataSet ds = GetTrainings();
Table table = (Table)this.grid.Controls[0];
Hashtable hash = new Hashtable();
int rowindex = 0;
foreach (GridViewRow row in grid.Rows)
{
int realIndex = table.Rows.GetRowIndex(row);
string text = ds.Tables[0].Rows[rowindex]["HeaderToDisplay"].ToString(); //Pole HEADERTODISPLAY jest polem pobieranym z procedury z bazy danych
if (!hash.ContainsKey(text))
{
hash.Add(text, null);
GridViewRow groupHeaderRow = new GridViewRow(realIndex, realIndex, DataControlRowType.Separator, DataControlRowState.Normal);
TableCell newCell = new TableCell();
groupHeaderRow.Cells.Add(newCell);
newCell.ColumnSpan = grid.Columns.Count;
newCell.BackColor = System.Drawing.Color.FromArgb(44, 132, 167);
newCell.ForeColor = System.Drawing.Color.White;
newCell.Font.Bold = true;
newCell.Text = text;
table.Controls.AddAt(realIndex, groupHeaderRow);
}
rowindex++;
}
base.Render(writer);
}