Monday, 15 July 2013

jquery - How to implement search functionality in jqGrid in JAVA -



jquery - How to implement search functionality in jqGrid in JAVA -

i implementing jqgrid in java.

at time of implementing search functionality not able search result, reloads grid info records rather filtered result. please help me resolve issue , guide me implement search functionality advanced search function in java.

fraction of code have done:

var lastselected, lastsel2; var currowid = -1; var gridcontainerid = "#data-grid-container"; var la; var usernames; $(document).ready( function() { $(gridcontainerid).jqgrid( { url : 'manageuserservlet?methodname=fetchallusers', datatype : "json", colnames: ['email', 'lastname', 'firstname', 'group', 'active'], /*colmodel: [ { name: 'email', width: 100, index: 'email', searchoptions: { sopt: ['eq', 'ne']} }, { name: 'lastname', index: 'lastname', searchoptions: { sopt: ['eq', 'ne', 'cn']} }, { name: 'firstname', index: 'firstname', searchoptions: { sopt: ['eq', 'ne', 'cn']} }, { name: 'group', index: 'group', searchoptions: { sopt: ['eq', 'ne', 'cn']} }, { name: 'active', index: 'active', searchoptions: { sopt: ['eq', 'ne', 'cn']} } ],*/ colnames : [ 'email', 'lastname', 'firstname', 'group', 'active'], colmodel : [ { name : 'email', index : 'email', width : 85, sortable : true, sorttype : "text", editable : true, editoptions : { size : "20", maxlength : "30" }, sopt : ['cn','bw','eq','ne','lt','gt','ew'] }, { name : 'lastname', index : 'lastname', width : 75, editable : true, edittype : "text", editoptions : { size : "20", maxlength : "30" }, sopt : ['cn','bw','eq','ne','lt','gt','ew'] }, { name : 'firstname', index : 'firstname', width : 85, sortable : true, sorttype : "text", editable : true, edittype : "text", editoptions : { size : "20", maxlength : "30" }, sopt : ['cn','bw','eq','ne','lt','gt','ew'] }, { name : 'groupname', index : 'groupname', width : 80, sortable : true, sorttype : "text", editable : true, edittype : "text", editoptions : { size : "20", maxlength : "30" }, sopt : ['cn','bw','eq','ne','lt','gt','ew'] }, { name : 'isactive', index : 'isactive', width : 80, sortable : true, sorttype : "text", editable : true, edittype : "text", editoptions : { size : "20", maxlength : "30" } } ], rownum : jquery("#data-grid-container").jqgrid( 'getrowdata'), rowlist : [10, 20, 30, 40], pager : '#data-grid-pager', sortname : 'username', viewrecords : true, sortorder : "desc", /* * ondblclickrow : function(id) { if (id && id !== * lastselected) { * $(gridcontainerid).jqgrid('restorerow', * lastselected); $(gridcontainerid).jqgrid('editrow', * id, true); lastselected = id; } }, */ /* * onselectrow : function(username) { if (username && * username !== lastselected) { * $(gridcontainerid).jqgrid('restorerow', * lastselected); lastselected = null; } }, */ onselectrow : function(id) { currowid = id; var ids = jquery("#data-grid-container").jqgrid( 'getgridparam', 'selarrrow'); // alert("test: " + ids + "length is::"+ids.length); /* * usernames = new array(ids.length); var row; * for(var i=0; i<ids.length;i++) { usernames[i] = * jquery("#data-grid-container").jqgrid('getcell', * ids[i], 'username'); } temp='urvin'; */ }, caption : "", height : 500 }); jquery("#data-grid-container").jqgrid('setgroupheaders', { usecolspanstyle : false, groupheaders : [ { startcolumnname : 'email', numberofcolumns : 4, titletext : '<em>users' +la+ '</em>' , }, { startcolumnname : 'group', numberofcolumns : 1, titletext : '<em>users' +la+ '</em>' , } ] }); $("#data-grid-container").jqgrid( 'navgrid', '#data-grid-pager', { edit : true, add together : true, del : true, search : true }, { savekey : [ true, 13 ], reloadaftersubmit : true, jqmodal : false, closeonescape : true, closeafteredit : true, caption : "edit user", url : 'manageuserservlet?methodname=edituser', aftersubmit : function(response, postdata) { if (response.responsetext == "success") { jquery("#success").show(); jquery("#success").html( "user added successfully."); jquery("#success").fadeout(6000); homecoming [ true, response.responsetext ]; } else { homecoming [ false, response.responsetext ]; } } }, // add together options { closeonescape : true, caption : "add user", url : 'manageuserservlet?methodname=adduser', closeafteradd : true }, // delete options { caption : "delete user", onclicksubmit : function(eparams) { var retarr = {}; // can utilize grid methods here // obtain info var ids = jquery("#data-grid-container").jqgrid( 'getgridparam', 'selarrrow'); // alert("test: " + ids + "length is::"+ids.length); var row; ( var = 0; < ids.length; i++) { if (i == 0) { usernames = jquery("#data-grid-container") .jqgrid('getcell', ids[i], 'username'); } else { usernames += "," + jquery("#data-grid-container") .jqgrid('getcell', ids[i], 'username'); } } alert("usernames :" + usernames); retarr = { lstusername : usernames }; homecoming retarr; }, url : 'manageuserservlet?methodname=deleteuser' }, { find: "search", reset: "reset", closeonescape : true, closeaftersearch : true, caption : "search", multiplesearch : true, /*onclickfind : jquery(gridcontainerid).searchgrid( {sopt:['cn','bw','eq','ne','lt','gt','ew']})*/ /*var sg = jquery("#mysearch").filtergrid(...)[0]; sg.triggersearch();*/ autosearch : true }); $(".ui-jqgrid-titlebar").hide(); });

guidance implement search in jqgrid highly appreciate.

updated:

here code creating json object fill grid info on servlet:

private void fetchallusers() { list<uservo> lstusers = adminservices.fetchallusers(); if(lstusers != null && !lstusers.isempty()) { try{ jsonobject responsedata=new jsonobject(); responsedata.put("total",2); responsedata.put("page",1); responsedata.put("records",3); jsonarray cellarray=new jsonarray(); jsonarray cell = new jsonarray(); jsonobject cellobj=new jsonobject(); int i=1; for(uservo uservo : lstusers) { if(uservo!= null) { cellobj.put("id",i); cell.add(uservo.getemail()); cell.add(uservo.getlastname()); cell.add(uservo.getfirstname()); cell.add(uservo.getgroupvo().getgroupname()); if(uservo.isactive()){ cell.add("active"); }else{ cell.add("in-active"); } cellobj.put("cell", cell); cell.clear(); cellarray.add(cellobj); i++; } } responsedata.put("rows", cellarray); //response.setcontenttype("applisation/json"); out.print(responsedata); out.flush(); }catch(exception e) { system.out.println("there error"); } }

i think missing loadonce: true

if want utilize search alternative provided jqgrid must utilize loadonce: true

java jquery jsp servlets jqgrid

No comments:

Post a Comment