在Jqgrid中,RESET按钮也会刷新过滤条。

我在重置时出现问题,因为您看到我已将状态默认设置为ACTIVE,并且只能选择一条记录,选择记录后用户可以单击ADD WO

http://sofzh.miximages.com/jquery/11udoo6.jpg

但是当单击“重置”按钮时,整个状态栏会发生变化

http://sofzh.miximages.com/jquery/25a6vcp.jpg

我还将dafaultvalue设置为ACTIVE也是.. !! 我必须保持状态有效,当它重置时。!! Plz帮助我

function initJqGridSearchSubProject(table,pager,msg,loadSelID,caption,chkMrk ){ $(table).empty(); $(table).GridUnload(); var mygrid =jQuery(table).jqGrid({ datatype: "local", data:msg, width: 1240, scrollOffset:0, height: 250, colNames:['ID','PID','Project Folder Name','Sub Project Name','Responsible','Status','Last Updated On'], colModel:[ {name:'id',index:'id',hidden:true, width:5, sorttype:"int", editable: false,resizable:false}, {name:'pid',hidden:true, width:5, sorttype:"int", editable: false,resizable:false}, {name:'projectFolderName', width:250, editable: true,formatter:'tsLinks'}, {name:'subProjectName', width:250, editable: true,formatter:'subProjectLinks'}, //{name:'eCNNumber', width:150, editable: true}, {name:'responsible', width:200, editable:false,resizable:false}, {name:'status', width:100,editable: true,stype:'select',edittype:"select",resizable:false,searchoptions:{defaultValue:"ACTIVE"},editoptions:{value:"ACTIVE:ACTIVE;INACTIVE:INACTIVE;DELETED:DELETED",readonly:false},editrules:{edithidden:false}}, {name:'lastUpdatedOn', width:200,editable: false,resizable:false,sorttype:'date',formatter:'date',formatoptions:{ srcformat: 'M dy H:i:s', newformat: 'd M yh:i A' }} ], pager: pager, rowNum:200, rowList:[200,400,600,1000], //rowTotal:2000, //loadOnce:true, //rownumbers:true, gridview : true, sortname: 'lastUpdatedOn', viewrecords: true, sortorder: "desc", toppager:true, multiselect:true, singleselect: false, //multiboxonly:true, //toolbar: [true,'both'], caption:caption, hidegrid: false, gridComplete:function(id){ //$(chkMrk).hide(); //alert('grid complete'); }, beforeSelectRow: function(rowid, e) { // reset check box selection only when user clicks on another checkbox if($(e.target).is("input:checkbox")) { // reset/clear other checkboxes selection before making a latest clicked row's checkbox as selected jQuery(table).jqGrid('resetSelection'); } // Code To Disable Check Box Selection When User Selects by Clicking on A Row return $(e.target).is("input:checkbox"); //return(true); } }); jQuery(table).jqGrid('navGrid',pager,{del:false,add:false,edit:false,search:false,refresh:true,cloneToTop:true,afterRefresh:function(){}},{},{},{},{}); jQuery(table).jqGrid('navButtonAdd', table+ '_toppager_left',{caption:"Add WO", buttonicon:"ui-icon ui-icon-plus",id:"SUBPROJID", onClickButton: function(){},position:"first",title:"Add WO"}); 

你所做的是你已经在searchoptions选项中设置了defaultValue选项,而不是在editoptions 。 你只需要在那里添加相同的内容。 只需尝试更改status列的定义,如下所示:

 {name:'status', width:100,editable: true,stype:'select',edittype:"select", resizable:false,searchoptions:{defaultValue:"ACTIVE"}, editoptions:{value:"ACTIVE:ACTIVE;INACTIVE:INACTIVE;DELETED:DELETED", readonly:false, defaultValue:"ACTIVE"},editrules:{edithidden:false}}, 

更新:

要调用beforeRefresh事件处理程序中的行,您可以执行以下操作:

 jQuery(table).jqGrid('navGrid',pager, { edit:false,view:false,add:false,del:false,search:false, beforeRefresh: function(){ alert('Here'); jQuery(table).jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid'); } }); 

终于得到了结果,我刚刚在重置按钮function中添加了triggerToolbar()。

 jQuery(table).jqGrid('navGrid',pager,{del:false,add:false,edit:false,search:false,refresh:true,cloneToTop:true,afterRefresh:function(){$(table)[0].triggerToolbar();}},{},{},{},{}); 

现在它的工作正常..!