Búsqueda de jqGrid en el lado del cliente

Me gustaría aplicar manualmente la búsqueda a mi jqGrid a través de JavaScript. He intentado una guía aquí , pero parece que no funciona completamente. En la configuración de la cuadrícula, tengo una columna con el nombre ‘error_column’ que me gustaría realizar una búsqueda para buscar la cadena ‘Test’.

Esto es lo que tengo hasta ahora:

var filter = { "field": "error_column", 'oper': 'eq', "data": 'Test' }; $("Grid2").jqGrid('setGridParam', { search: true, postData: { filters: filter} }) $("Grid2").trigger('reloadGrid'); 

Cuando hago clic en el botón al que está vinculado, no pasa nada y no causa errores.

EDITAR Aquí está el código para inicializar la grilla:

 jQuery("#Grid2").jqGrid({ datatype: "local", height: 250, colNames: ['NewSubscriberID', 'Conflicting Subscriber ID', 'Error Field', 'Error Message'], colModel: [ { name: 'new_subscriber_id', index: 'new_subscriber_id', width: 120}, { name: 'conflicting_subscriber_id', index: 'conflicting_subscriber_id', width: 170}, { name: 'error_column', index: 'error_column', width: 90, sorttype: "text", search: true}, { name: 'error_type', index: 'error_type', width: 145} ], loadonce: true }); 

Ato los datos a la cuadrícula usando una matriz local.

Debería implementar la búsqueda de campo individual de otra forma:

 var grid = jQuery("#Grid2"); var postdata = grid.jqGrid('getGridParam','postData'); jQuery.extend (postdata, {filters:'', searchField: 'error_column', searchOper: 'eq', searchString: 'Test'}); grid.jqGrid('setGridParam', { search: true, postData: postdata }); grid.trigger("reloadGrid",[{page:1}]); 

Puedes ver ejemplos en vivo aquí .

ACTUALIZADO : loadonce: true y loadonce: true datatype: "local" juntos. El valor loadonce: true se ignorará en el caso de datatype: "local" . Si obtiene los datos del servidor y usa datatype: "json" o datatype: "xml" , entonces loadonce: true funcionará. Si desea que la búsqueda (filtrado) no se realice localmente sino en el servidor, debe restablecer el datatype de datatype a 'json' o 'xml' como opción adicional de 'setGridParam' .

    Intereting Posts