Estoy creando un elemento web de SharePoint en C# y parte de él genera un control GridView en la página. Si bien puedo obtener un control bastante extenso sobre la forma en que se muestra configurando la clase CSS de GridView, lo que realmente me gustaría hacer es poder especificar clases para ciertos elementos td específicos. No estoy seguro de cómo hacerlo, o si se haría en el momento en que GridView se rellena con filas, o en el momento en que se agrega GridView a la página.¿Cómo especifico las clases CSS para filas específicas en un GridView?
En pseudocódigo, lo que esencialmente había previsto era poder decir algo como gridView.Row[4].CssClass = "header"
, que establecería el td de la quinta fila en el GridView en el "encabezado" de la clase.
He mirado en utilizar el evento RowDataBound, por lo que sólo utilizó la siguiente para probarlo:
protected void outputGrid1_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.CssClass = "outputHeader";
}
Es probablemente mi falta de comprensión de cómo utilizar ese correctamente, pero no parece que hacer cualquier cosa. Pensé que establecería todas las filas en el "encabezado" de la clase, y si lo hubiera hecho, iba a trabajar en mi lógica desde allí, pero ni siquiera puedo hacer que funcione. ¡Gracias por cualquier ayuda que alguien pueda brindar!
Me gusta este enfoque. Sin embargo, al recorrer el código en el depurador, descubro que RowDataBound no se está llamando. Lo escribí exactamente como está en la pregunta, y mi grilla se llama outputGrid1. ¿Tienes alguna idea de por qué eso no sería llamar a RowDataBound? –
La única cosa adicional que tenía que hacer era establecer la propiedad RowDataBound de mi GridView en el método RowDataBound, así: outputGrid1.RowDataBound + = outputGrid1_RowDataBound; ¡Gracias por tu ayuda! –
@Geo Eye: consulte las actualizaciones anteriores. Tal vez publique su código si continúa teniendo problemas – Nij