2012-05-02 17 views
5

¿Hay alguna forma de habilitar o inhabilitar la clasificación de columnas durante el tiempo de ejecución?Clasificación de columna de activación/desactivación de JQGRID

Puedo eliminar o agregar la clase que hace posible la clasificación, y cuando la elimino no se puede ordenar la columna. Pero cuando lo restauro, la cuadrícula ordena esa columna automáticamente como si alguien la hubiera ordenado.

+0

Proporcionar código de ejemplo podría ser útil para obtener una respuesta. –

+1

¿Esto funcionaría para usted? Actualice colModel para la grilla, cambie/agregue/elimine los atributos ordenables y de índice para la columna en cuestión, luego vuelva a cargar la grilla. –

Respuesta

13

Sí, puedes.

Vamos a escribir un poco de contexto:

//Here you have your grid. 
jQuery('#myGrid'); 
//Here the definition of a colModel 
{name:'Name', index:'name', sortable:true, align:'left', required: true, editable:true, edittype:'text'} 

Y ahora, cuando se hace clic en el botón de alguna llama a una función, que se supone debe desactivar la ordenación del nombre de columna. Esto es lo que debería ser la función.

function disableSorting(){ 
    jQuery('#myGrid').setColProp('Name', {sortable: false}); 
} 

Probado y funciona :)

1
$("#jqGrid").jqGrid({ 
    colModel: [ { label: 'Category Name', name: 'CategoryName', width: 75, **sortable: false** }] 
}); 
+2

¿Por qué debería el OP "probar esto"? Una ** buena respuesta ** siempre tendrá una explicación de lo que se hizo y por qué se hizo de esa manera, no solo para el OP sino para los futuros visitantes de SO que puedan encontrar esta pregunta y leer su respuesta. –

Cuestiones relacionadas