我有一个 jqGrid 并且有几页项目。我有一行的 ID,它可能在第一页上,也可能埋在其他页面的某个地方。
给定行的 ID,我如何以编程方式选择这样的行?我正在使用按钮的单击事件,如下所示
.on("click", function(){
var myId = $(this).attr("id");
$("#studentGrid").jqGrid.setSelection(myId, true);
});
当我单击按钮时,我得到以下萤火虫控制台。
TypeError:this.each 不是函数
有任何想法吗 ?
编辑
所以我选择只用一条记录重新填充网格。问题是我没有使用本地数据。我的数据类型是“json”。像这样
$("#studentGrid").jqGrid({
url: '<c:url value="/students/studentjsondata"/>',
datatype: 'json',
height: 'auto',
colNames:['id','First Name', 'Last Name', 'Other Name' ,'Date Of Birth', 'Gender'],
colModel:[
//Bla Bla Bla
],
rowNum:10,
autowidth: true,
pager: '#pager',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
caption:"Students",
emptyrecords: "Empty Records",
subGrid: true,
/* <![CDATA[ */
onSelectRow: function(id){
if((lastsel != 0)&&(id!==lastsel)){
$("#studentGrid").jqGrid('collapseSubGridRow', lastsel);
}
lastsel=id;
}/* ]]> */ ,
subGridOptions: {
"plusicon" : "ui-icon-triangle-1-e",
"minusicon" : "ui-icon-triangle-1-s",
"openicon" : "ui-icon-arrowreturn-1-e",
"reloadOnExpand" : true,
"selectOnExpand" : true
},
subGridRowExpanded: function(subgrid_id, row_id) {
//Bla Bla Bla
}
});
我有想要重新填充网格的 json 字符串。如何使用这些新数据重新初始化网格。我将下面的json字符串与相应的逻辑如下,但没有任何反应。
{'page':'1', 'records':'1', 'total':'1', 'rows':[{'id':'7385', 'cell': ['Max', 'Payne', '', 'September 16, 2012', 'Male']}]}
.on("click", function(){
var myNewData = eval('(' + $(this).attr("griddata") + ')');
$("#studentGrid").jqGrid('setGridParam', { datatype: 'local', data: myNewData}).trigger('reloadGrid');
});