Agregar una clase de CSS a una columna

¿Cómo puede agregar su propia clase a una columna dentro de jqgrid? Como veo, los elementos de entrada html obtienen la clase “FormElement”. Necesito agregar una clase a una columna en particular. Encontré este http://www.trirand.com/blog/?page_id=393/help/cell-tooltip-1/#p21526 , pero no estoy seguro de si es la forma más conveniente de lograrlo. Me refiero a ir a través de todas las filas y celdas y luego cambiar manualmente una propiedad de clase; parece ser una sobrecarga para esa tarea “simple”.

ACTUALIZAR

Quiero agregar clase porque quiero usar la funcionalidad de este widget multiselect http://quasipartikel.at/multiselect/ . Este widget funciona a través de clases definidas. Es por eso.

Probablemente necesite usar propiedad de clases para la columna correspondiente.

No estoy seguro de que sea lo que necesita porque escribió sobre la clase FormElement existente en el formulario . En este caso, debe utilizar la callback beforeShowForm de la edición del formulario, por ejemplo, para agregar una clase al campo de entrada del campo correspondiente del formulario de edición. La identificación de los campos en el formulario es la misma que la propiedad del name de la columna correspondiente de colModel .

Si realmente necesita agregar un atributo de clase a las celdas de una columna, tiene una posibilidad más: definir la callback de cellattr para la columna de colModel . El camino podría ser práctico si necesita agregar la clase no para todas las celdas de la columna . Puede probar algunas condiciones en función del contenido de la fila y establecer la clase solo si la condición tiene lugar. Por ejemplo, el uso de classes:'ui-state-error-text ui-state-error' configurará las dos clases correspondientes ( ui-state-error-text y ui-state-error ) en todas las celdas de la columna. Por otro lado, la función de callback

 cellattr: function(rowId, val, rawObject) { if (parseFloat(val) > 200) { return " class='ui-state-error-text ui-state-error'"; } } 

le permite configurar la clase solo si el valor de la celda es más alto que 200. No utilicé rawObject en la callback anterior, por lo que se podría eliminar el parámetro opcional. Lo agregué en la callback solo para recordarle que uno puede usar el parámetro para acceder a los valores de otras columnas de la fila. Entonces puedes implementar escenarios aún más complejos en cellattr .

Como resultado, uno puede obtener la cuadrícula como en la siguiente imagen:

enter image description here

ACTUALIZADO : Si necesita agregar una class en el campo de entrada de la edición, también puede usar la devolución de datos de DataInit de editoptions . En el caso, el uso será muy simple. Puedes hacer, por ejemplo, lo siguiente:

 editoptions: { dataInit: function (domElem) { $(domElem).addClass("ui-state-highlight"); } } 

Como resultado obtendrás el formulario de edición como

enter image description here

La demo que puedes encontrar aquí .

Hay una opción de colmodel de classes que hace justo lo que necesita. De la documentación de jqGrid :

clases

cuerda

Esta opción permite agregar clases a la columna. Si se usará más de una clase, se debe establecer un espacio. Por classes:'class1 class2' ejemplo classes:'class1 class2' establecerá una clase1 y una clase2 en cada celda de esa columna.

En la cuadrícula css hay una elipsis ui de clase predefinida que permite unir puntos suspensivos a una fila en particular. También esto funcionará en Firefox también.