Estoy intentando añadir una clase CSS a una fila en RowDataBound. Estoy usando la propiedad alterna de la clase css contra GridView, así que supongo que esto se aplica a RowDataBound. Si asigna una clase CSS programáticamente a la propiedad CssClass de la fila dentro del evento RowDataBound, no se aplica la clase css de estilo de fila alternativa, , aunque agregue la clase CSS.Agregar clase CSS en RowDataBound
Esto es lo que tengo:
Protected Sub gvGeneral_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvGeneral.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If previousExpenseType <> e.Row.Cells(2).Text And previousExpenseType.Length > 0 Then
e.Row.CssClass += "bottom-border"
End If
previousExpenseType = e.Row.Cells(2).Text
End If
End Sub
previousExpenseType
es sólo una cadena que estoy haciendo comparaciones contra. Si el tipo de gasto cambia, entonces quiero que se aplique un borde en la parte inferior del elemento <tr>
.
¿Alguna idea de cómo evitar esto? Parece que hay un evento después de RowDataBound que aplica la clase css de estilo de fila alterna a la fila.
Sí, eso es lo que esperaba no escuchar, pero parece ser la solución más viable en este momento. – Kezzer
Entiendo. Definitivamente no es el ideal, pero si lo que dices es cierto acerca de un posible evento oculto que sobrescribe lo que estás haciendo, realmente no puedo pensar en muchas formas de eludir eso sin a) deshacerte de cualquier regla para el estilo del elemento y alternar estilo de fila (no deseado) o b) dando vueltas y haciendo lo que debe hacerse después del hecho. – TheTXI