我正在使用 JQGrid 的 showlink
格式化程序。
为此,我的 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}}
];
我想让链接有两个请求参数,它们将成为我的 jqgrid 数据的一部分:
http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=Unit1
但是我得到了错误
Uncaught ReferenceError: unit is not defined
但如果我做出改变
[
{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'}}
];
我正在获取网址
http://localhost:7654/kiss/portal/yoadmintool/supplierCommodity/supplierCommodityDetail?id=48803&unit=abc
但我希望单位的值(value)应该取决于那一行,
这里是 Example我创造了。
我使用的替代方法是编写自定义包装函数。但我想使用默认的“showlink”格式化程序。 请帮忙。
最佳答案
在 colModel
userId 列中提到 formatter: editLink
以获得 userId
和 isActive
的值,这里 editLink
是一个函数。
columnIndex userId
是第一个参数,columnIndex isActive
是第二个参数,使用 rowdata.userId
和 rowdata.isActive 获取这些值
在 editLink
函数中。这两个值使用 &
分隔。
使用 jqgrid 在 URL 中传递 两个参数
。
代码:
$(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>";
}
关于javascript - 在 JQGrid 的 showlink 格式化程序中添加动态参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11465060/