我有一个包含以下选项的网格,其中我想为行设置的“id”需要自定义格式化。
有两列libCode
和matCode
。
结合这两个数据,我想为行创建Id,如下所示: -
" ;libCode=[libcode];matCode=[matCode]"
但key=true
选项无法使用自定义格式化程序设置数据的此字段。
它返回行号。如果没有定义xmlmap选项,或者从XML
响应中返回xmlmap元素中的数据,而不是自定义格式化程序设置的数据。
我想知道为什么密钥选项不起作用,还有其他任何方法可以实现它。
这是我的网格代码:
$(function () {
$("#list").jqGrid({
url: "./TestServlet?operation=RetrieveAll&accept=List",
datatype: "xml",
mtype: "GET",
colNames: ["Lib Code", "Mat Code", "Row Id"],
colModel: [ { name: "libCode", hidden:true, xmlmap:"libCd"},
{ name: "matCode", hidden:true, xmlmap:"matCd"},
{ name: "rowId", formatter:formatName , key:true}
],
xmlReader:{
root:"libs",
row:"lib",
repeatitems: false
},
pager: "#pager",
rowNum: 10,
rownumbers: true,
rowList: [10, 20, 30],
sortname: "libCd",
sortorder: "desc",
viewrecords: true,
gridview: true,
autoencode: true,
loadonce: false,
caption: "Library"
});
});
function formatName(cellValue, options, rowObject)
{
return " ;libCd="+$(rowObject).find('libCd').text()+";matCd="+$(rowObject).find('matCd').text();
}
答案 0 :(得分:1)
将属性loadonce设置为true而不是false,即loadonce:true。