当我使用下面的代码时,我得到“colNames的长度和<> colModel!”错误。如果isUserGlobal为false,我没有收到任何错误。我正在使用jqGrid-4.5.4
receivedColModel.push({name:'NAME', index:'NAME', sortable:true});
receivedColModel.push({name:'SURNAME', index:'SURNAME', sortable:true});
receivedColModel.push({name:'AGE', index:'AGE', sortable:true});
receivedColModel.push({name:'STATUS', index:'STATUS', sortable:true});
receivedColNames.push(messageDictionary['userHistory.NAME']);
receivedColNames.push(messageDictionary['userHistory.SURNAME']);
receivedColNames.push(messageDictionary['userHistory.AGE']);
receivedColNames.push(messageDictionary['userHistory.STATUS']);
if(isUserGlobal == 'true') {
receivedColModel.push({name:'CITY', index:'CITY', sortable:true});
receivedColNames.push(messageDictionary['userHistory.CITY']);
}
$('#historyGrid').jqGrid({
url:'ajax.htm',
datatype: "json",
mtype: "POST",
jsonReader: { repeatitems : false, cell:"", id: "", userdata: "jsonModel", root: "rows" },
postData:postData,
colNames:receivedColNames,
colModel:receivedColModel,
.
.
.
顺便说一下,如果我不使用colNames作为参数,如下所示,程序成功运行。我不明白,为什么会发生这种情况。非常感谢你。
receivedColModel.push({name:'NAME', index:'NAME', sortable:true, label:messageDictionary['userHistory.NAME']});
receivedColModel.push({name:'SURNAME', index:'SURNAME', sortable:true, label:messageDictionary['userHistory.SURNAME']});
receivedColModel.push({name:'AGE', index:'AGE', sortable:true, label:messageDictionary['userHistory.AGE'});
receivedColModel.push({name:'STATUS', index:'STATUS', sortable:true, label:messageDictionary['userHistory.STATUS']});
if(isUserGlobal == 'true') {
receivedColModel.push({name:'CITY', index:'CITY', sortable:true});
}
$('#historyGrid').jqGrid({
url:'ajax.htm',
datatype: "json",
mtype: "POST",
jsonReader: { repeatitems : false, cell:"", id: "", userdata: "jsonModel", root: "rows" },
postData:postData,
colModel:receivedColModel,
.
.
.
您没有包含jqGrid的实际参数。很明显,你使用receivedColModel
和receivedColNames
来构建colNames
和colModel`。我想问题的根源在于部分(在我们的问题文本中没有看到的部分)。
你根本不能使用colNames
。而不是你可以指定关于label
的colModel
属性的列标题。你没有任何缺点。顺便说一下,如果它的值与index
属性的值相同,则不需要name
属性。 sortable
属性的默认值是true
,你也可以删除sortable:true
。