javascript - Can trigger(“reloadGrid”) works when 'loadonce: true' in jqGrid? -


the jqgrid source file i'm using says @ top it's version jqgrid 4.4.0 , date date 2012-06-14

in wiki page says trigger(“reloadgrid”),

reloads grid current settings. means new request send server if datatype xml or json. method should applied already-constructed grid. pay attention method not change header information, means changes colmodel not affected. should use gridunload reload new configuration different colmodel. it's work if loadonce: false !!!

and yes says "it's work if loadonce: false !!!"

and this answer suggest hack that. says,

if use loadonce:true jqgrid change datatype parameters 'local' after first load of data grid. next grid reloading (sorting, paging, filtering) works local. if want refresh grid data server 1 more time should set datatype original value ('json' or 'xml').

so answer solved problem facing. had jqgrid has loadonce:true. (here care sorting , worked perfectly). had change code bit reload jqgrid new server data. (user can change details , refresh table jqgrid should reload newly aquired data server). unfortunately didn't work until changed loadonce:true loadonce:false.

i called reloading this,

$("#tablegrid").setgridparam({url:'myurl'}).trigger('reloadgrid'); 

now reloading fine. sorting gone :(

and saw answer , change this,

i set loadonce:true when initializing grid. , called reloading below.

$("#tablegrid").setgridparam({url:'myurl',datatype:'xml'}).trigger('reloadgrid'); 

after sorting fine , user can reload grid well.

is approach correct ? think solved problem, but ? because documentation says can't reload when loadonce:true ?

first of strictly recommend upgrade jqgrid use version 4.4.0 free jqgrid 4.12.1. free jqgrid fork of jqgrid develop starting end of 2014. see post , link updated part of the answer additional information. should understand jqgrid 4.4.0 retro version. published @ time of jquery 1.4.3 version. time when ie9 latest version of internet explorer, ie6-ie8 used versions. have another time in web development.

it's important understand loadonce: true , .trigger('reloadgrid').

jqgrid support local holding of data inside of javascript objects. 1 can use datatype: "local", provides data using data parameter , work data using local paging, sorting , filtering data. can change values of page size (rownum), page number (page) , sorting parameters (sortname, sortorder) , reload current displayed page using new options triggering reloadgrid event. jqgrid sort data , displays requested page. it's important understand .trigger('reloadgrid') works local data too.

if use datatype:'xml' loadonce: true server have return all data. data have sorted requested sortname, sortorder options (the parameters sidx , sord of request server). jqgrid fills internal data parameter data. jqgrid displays first page of returned data (based on page size rownum , page number page). (after processing loadcomplete callback) jqgrid changes original value of datatype ("xml" in case) datatype: "local". user can use local paging, sorting , filtering data without communication server. on every sorting, paging , filtering jqgrid uses reloadgrid event display corresponding page of data.

if need reload data server need restore original value of datatype parameter , trigger reloadgrid. example

$("#tablegrid").setgridparam({datatype:'xml'}).trigger('reloadgrid'); 

if server correctly implemented user see requested page of data , local data refreshed. datatype changed datatype:'local' after displaying page.

if use current free jqgrid can use following options

loadonce: true, forceclientsorting: true, navoptions: { reloadgridoptions: { fromserver: true } } 

the option forceclientsorting: true removes server requirement provide sorted data. free jqgrid can sort data returned server. if use navgrid adds "refresh"/"reload" button. option navoptions: { reloadgridoptions: { fromserver: true } } changes behavior of button so, data reloaded server if user clicks on button. no manual changing of datatype not needed.


Comments

Popular posts from this blog

Unlimited choices in BASH case statement -

Redirect to a HTTPS version using .htaccess -

javascript - jQuery: Add class depending on URL in the best way -