我正在尝试将可点击的文本添加到JQGrid中的列,因此我将dynamicLink formatter添加到列中,一旦我使用此formatter属性,文本就会消失。使用“链接”属性时,列的数据可见。最初我还没有添加dynamicLink.js jqgrid插件。但即使在添加依赖项之后,问题仍未得到解决。这是我的代码。
<script type="text/javascript" src="<%=request.getContextPath()%>/resources/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/resources/js/jQuery.jqGrid.dynamicLink.js" ></script>
jq(function() {
jq("#grid").jqGrid(
{
url : '/application/getList',
datatype : 'json',
mtype : 'GET',
colNames : [ 'Column1', 'Column3' ],
colModel : [ {
name : 'Column1',
index : 'Column1',
width : 49,
sortable : true,
sorttype : 'int'
}, {
name : 'Column3',
index : 'Column3',
width : 49,
sortable : false,
search : false,
formatter: 'dynamicLink',
formatoptions: {
url: function (cellValue, rowId, rowData) {
return 'application/disable' + '?' + $.param({column1: rowData.column1});
}
}
} ],
postData : {},
rowNum : 10,
rowList : [ 5, 10, 15, 20 ],
height : 200,
autowidth : true,
rownumbers : false,
pager : '#pager',
sortname : 'id',
caption : "XXXXXXXXXXXXXX",
viewrecords : true,
ignoreCase : true,
sortorder : "asc",
emptyrecords : "Empty records",
loadonce : true,
loadComplete : function() {
},
jsonReader : {
total : "total",
page : "page",
records : "records",
root : "XXXXXX",
repeatitems : false,
cell : "cell",
id : "id"
}
});
jq("#grid").jqGrid('navGrid', '#pager', {
edit : false,
add : false,
del : false,
search : true
}, {}, {}, {}, {
sopt : [ 'cn', 'ne', 'lt', 'gt', 'eq', 'bw', 'ew' ],
closeOnEscape : true,
multipleSearch : false,
closeAfterSearch : true
});
jq("#btnFilter").click(function() {
jq("#grid").jqGrid('searchGrid', {
multipleSearch : false,
sopt : [ 'cn', 'ne', 'lt', 'gt', 'eq', 'bw', 'ew' ]
});
});
});
</script>
一旦我添加了dynamicLink.js,我在浏览器控制台中收到错误消息,$ .fn.fmatter无法解析,因为dynamicLink函数定义使用$ .fn.fmatter。
我是否遗漏了导致此问题的任何其他依赖项或任何版本不匹配?
编辑1:
更新问题
从url传递的Column1的cellValue是一个布尔值,因此
jqgrid.dynamicLink.js中的if($ .fmatter.isString(cellValue)|| $ .fmatter.isNumber(cellValue))
传递失败,并且只从该函数返回了一个&amp; nbsp值。
我在Spring MVC中使用这个代码,它与几个jar一起处理json交换和jpa-hibernate。
我应该用问题发布服务器端代码,这会使错误显而易见。
现在,我想知道使用dynamicLink处理布尔列需要做些什么。