jquery - jqGrid Refresh From Server Issue -
i have struts2 jqgrid page loads fine. when navigator refresh button clicked want reload grid server.
<sjg:grid altrows="false" id="gridtable" datatype="json" editurl="%{editurl}" filter="true" filteroptions="{stringresult:true}" gridmodel="gridmodel" gridview="true" height="600" href="%{remoteurl}" loadonce="true" navigator="true" navigatoradd="%{editpermission}" navigatoraddoptions="{ closeafteradd:false, closeonescape:true, reloadaftersubmit:true, addcaption:'add record'}" navigatordelete="false" navigatoredit="%{editpermission}" navigatoreditoptions="{ closeafteredit:false, closeonescape:true, aftersubmit:function(response, postdata) { return iserror(response.responsetext); } }" navigatorrefresh="true" navigatorsearch="false" oncompletetopics="loadcomplete" onselectrowtopics="rowselect" oneditinlinebeforetopics="beforeformload" pager="true" pagerbuttons="true" rowlist="25,50,100" rownum="25" rownumbers="true" >
i have following bind set datatype json when refresh button clicked.
$("#refresh_gridtable").bind("click", function(){ $("#gridtable").jqgrid("setgridparam", {datatype: 'json'}); return [true]; });
however, when click refresh button reloads data server on every other click. if perform client-side sort on specific column click refresh not reload server first click, second click refresh server without sort (the sort icons still visible @ point @ top of column), third click not hit server apply sort.
how refresh reload server each time, apply existing sort/filter fields?
the solution depends little underlying jqgrid use. if use free jqgrid 4.9 can use additional option of navgrid
: reloadgridoptions: { fromserver: true }
.
if use old version of jqgrid can use callback beforerefresh
reset datatype
"json"
directly before reloading. don't use struts2 myself. don't know can specify callback beforerefresh
alternatively can use navigatorrefresh="false"
remove standard refresh button navigator bar , use navigatorextrabuttons
seems replacement navbuttonadd. if correctly understand option can specify free code of onclick
, need. can use icon: "ui-icon-refresh"
make custom button looks standarda refresh button. inside of onclick
can set datatype: 'json'
, trigger "reloadgrid"
.
Comments
Post a Comment