Salve, programmo in vb.net.

Popolo una Gridview mediante interrogazione a un DB. Per farlo, mi servo del metodo "GridView_RowDataBound". Nell'evento, al verificarsi di una determinata condizione, aggiungo una Row vuota colorata con scritto un testo.

La problematica che riscontro è che la row colorata viene creata alla riga successiva. Allego l'immagine della mia GridView; in essa, noterete 3 righe in verde scuro, che sarebbero dovute essere inserite una posizione più in alto. Di seguito posto il codice.

Protected Sub GrdCatalogo_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GrdCatalogo.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then
if condizione=true then

Dim lbCategoria As Label = New Label
lbCategoria.Text = "Dicitura"
Dim row As GridViewRow = New GridViewRow(e.Row.RowIndex, e.Row.RowIndex, DataControlRowType.DataRow, DataControlRowState.Normal) 'DataControlRowState.Normal ... e.Row.RowState
Dim cell As TableCell = New TableCell()
cell.BackColor = Color.FromArgb(11, 158, 25)
cell.ColumnSpan = 9
cell.Text = lbCategoria.Text
row.Cells.Add(cell)
CType(e.Row.Parent, Table).Rows.Add(row)


end if
end if
end sub
Se ho omesso qualche informazione, vi prego di farmelo notare.
Grazie in anticipo a chi riuscirà a darmi una mano.

file.jpg