Adicionando uma class CSS a uma coluna

Como você pode adicionar sua própria class a uma coluna dentro do jqgrid? Como vejo os elementos de input html estão recebendo class “FormElement”. Eu preciso adicionar uma class a uma coluna específica. Eu encontrei este http://www.trirand.com/blog/?page_id=393/help/cell-tooltip-1/#p21526 , mas não tenho certeza se é a maneira mais conveniente de conseguir isso? Eu pretendo percorrer todas as linhas e células e, em seguida, alterar manualmente uma propriedade de class – parece ser uma sobrecarga para essa tarefa “simples”.

ATUALIZAR

Eu quero adicionar class porque eu quero usar a funcionalidade deste widget multiselect http://quasipartikel.at/multiselect/ . Este widget funciona através de classs definidas. É por isso.

Provavelmente você precisa usar a propriedade de classs para a coluna correspondente.

Não tenho certeza de que é o que você precisa porque escreveu sobre a class FormElement existente no formulário . No caso, você tem que usar o callback beforeShowForm do formulário de edição, por exemplo, para adicionar a class ao campo de input do campo correspondente do formulário de edição. O id dos campos no formulário é o mesmo que a propriedade name da coluna correspondente do colModel .

Se você realmente precisa adicionar o atributo class às ​​células de uma coluna, você tem mais uma possibilidade: definir o retorno de chamada cellattr para a coluna colModel . O caminho pode ser prático se você precisar adicionar a class não para todas as células da coluna . Você pode testar algumas condições com base no conteúdo da linha e definir a class somente se a condição ocorrer. Por exemplo, o uso de classs:'ui-state-error-text ui-state-error' irá definir duas classs correspondentes ( ui-state-error-text e ui-state-error ) em todas as células da coluna. Por outro lado, a function de retorno de chamada

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

permite que você defina a class somente se o valor da célula for maior que 200. Não usei rawObject no retorno de chamada acima e, portanto, pode-se remover o parâmetro opcional. Eu adicionei-o no retorno de chamada apenas para lembrá-lo de que é possível usar o parâmetro para acessar os valores de outras colunas da linha. Assim, você pode implementar cenários ainda mais complexos no cellattr .

Como resultado, pode-se obter a grade como na figura a seguir:

insira a descrição da imagem aqui

ATUALIZADO : Se você precisar adicionar uma class no campo de input do campo de edição, poderá usar adicionalmente o retorno de chamada do dataInit das opções de edição . No caso, o uso será muito simples. Você pode fazer por exemplo o seguinte:

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

Como resultado, você receberá o formulário de edição como

insira a descrição da imagem aqui

A demonstração que você pode encontrar aqui .

Existe uma opção colmodel de classs que faz exatamente o que você precisa. Da documentação do jqGrid :

classs

corda

Esta opção permite adicionar classs à coluna. Se mais de uma class for usada, um espaço deve ser definido. Por classs:'class1 class2' exemplo classs:'class1 class2' definirá class1 e class2 para cada célula nessa coluna.

Na grade css, há uma class predefinida de reticências-ui que permitem append elipses a uma linha específica. Também isso funcionará no FireFox também.