Adding a dynamic parameter to the showlink JQGrid formatter

I am using showlink Formatter from JQGrid. for this my colModel

 [ {name:'id',index:'id',hidden:true}, {name:'unit',index:'unit',sorttype:"string"}, {name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit='+unit}} ]; 

I want the link to have two query parameters that will be part of my jqgrid data, like:

 http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=Unit1 

but i get an error

 Uncaught ReferenceError: unit is not defined 

but if I make a change like

 [ {name:'id',index:'id',hidden:true}, {name:'unit',index:'unit',sorttype:"string"}, {name:'supplierName',index:'supplierName',sorttype:"string",formatter:'showlink',formatoptions:{baseLinkUrl:'supplierCommodityDetail',addParam: '&unit=abc'}} ]; 

I get url

 http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=abc 

but I want the unit value to be dependent on this line,

here is the example i created.

An alternative approach that I used is to write a custom carry function. but I want to use the standard "showlink" Formatter formula. please, help.

+4
source share
1 answer

In the colModel userId column, specify formatter: editLink to get the values ​​of userId and isActive , here editLink is a function.

columnIndex userId is the first parameter, columnIndex isActive is the second parameter, get these values ​​using rowdata.userId and rowdata.isActive in editLink . These two values ​​are separated using & .

Skip two parameters in URL using jqgrid.

The code:

 $(document).ready(function(){ //jqGrid $("#usersList").jqGrid({ url:'<%=request.getContextPath() %>/Admin/getAllUsersList', datatype: "json", colNames:['Edit','Primary Email','Active','First Name','Middle Name','LastName','Mobile Number'], colModel:[ {name:'userId',search:false,index:'userId',width:30,sortable: false,formatter: editLink}, {name:'email',index:'user.primaryEmail',width:150}, {name:'isActive',index:'user.isActive',width:80}, {name:'firstName',index:'firstName', width:100}, {name:'middleName',index:'middleName', width:100}, {name:'lastName',index:'lastName', width:100}, {name:'mobileNo',index:'user.mobileNo', width:100}, ], rowNum:20, rowList:[10,20,30,40,50], rownumbers: true, pager: '#pagerDiv', sortname: 'user.primaryEmail', viewrecords: true, sortorder: "asc", autowidth:'true', }); $('#gridContainer div:not(.ui-jqgrid-titlebar)').width("100%"); $('.ui-jqgrid-bdiv').css('height', window.innerHeight * .65); $('#load_usersList').width("130"); $("#usersList").jqGrid('navGrid','#pagerDiv',{edit:false,add:false,del:false},{},{},{}, {closeAfterSearch:true}); $(".inline").colorbox({inline:true, width:"20%"}); }); function editLink(cellValue, options, rowdata, action) { return "<a href='<%=request.getContextPath()%>/Admin/editUser/" +rowdata.userId+"&"+rowdata.isActive + "' class='ui-icon ui-icon-pencil' ></a>"; } 
+2
source

All Articles