¿Cómo implemento la clasificación personalizada en una columna específica después de que se haya generado jqgrid?

¿Hay algún método que pueda usar para sobrescribir / insertar una función personalizada “sorttype” para una columna específica en el colModel después de que se haya rellenado usando javascript (jQuery)?

He encontrado un ejemplo aquí: http://www.ok-soft-gmbh.com/jqGrid/CustomSorttype1.htm , donde tipo de ordenación se implementa con la configuración inicial, pero lo que necesito cambiar después.

Intentó:

var attName = grid.getGridParam("colModel")[1].name; grid.setColProp(attName, { sorttype: function (cell) { if (cell == '
x
') { return '0' } else { return '1' }; } });

pero no funciona.

El uso de sorttype como función puede ser útil para cualquier tipo de datos locales de jqGrid o en el caso del uso de loadonce:true jqGrid paremter con los tipos de datos “remotos” json o xml. Si es necesario, puede cambiar el sorttype de sorttype de cualquier columna de forma dinámica.

Hice la nueva demostración para que usted demuestre la característica. Al principio, la cuadrícula se ordenará por columna ‘Cliente’ y la columna contendrá se interpretará como la cadena de texto. Los resultados se muestran a continuación

enter image description here

Si marcamos la checkbox “Establecer la función de tipo de clasificación personalizada”, la cuadrícula se ordenará como se muestra en la siguiente imagen

enter image description here

Para implementar dicha clasificación, definí la función

 var myCustomSort = function(cell,rowObject) { if (typeof cell === "string" && /^test(\d)+$/i.test(cell)) { return parseInt(cell.substring(4),10); } else { return cell; } } 

y el controlador de eventos ‘cambio’ en la checkbox

 $("#customsorttype").change(function() { var isChecked = $(this).is(':checked'); if (isChecked) { cm.sorttype = myCustomSort; } else { cm.sorttype = "text"; } grid.trigger("reloadGrid"); }); 

donde grid es $("#list") .

Si hace clic en la checkbox una vez más, se sorttype:"text" método de clasificación original con sorttype:"text" .