【发布时间】:2011-08-15 14:27:44
【问题描述】:
作为我previous question 的扩展,我想默认自动选择行。在this response 中,他们使用 loadComplete 在服务器请求后选择行。但是,我从服务器请求一次并从那时起使用本地数据。我需要在每次组织列时重新选择行,搜索网格......基本上每次数据视图发生变化时。
我根据列 (book_id) 而不是明确的 rowid 选择行,那么答案 here 是否合适?或者 jqGrid 是否有明确的方法(例如onUpdateGrid)来帮助实现这个目标?现在看来,我只需要在 onPaging 和 onSortCol 下复制代码。
fav_books 列的 dataInit 方法:
initBookEdit: function(elem){
//populate reference table
populateBookRefs($(elem).val());
//display dialog which contains reference table
//pressing OK button on dialog saves all id's as a
//comma delimited list in the main table
$('#bookRefPopup').dialog({
buttons: {
"OK": function(){
var selectedRows = bookRefTable.jqGrid('getGridParam', 'selarrrow');
var selectedIds = new Array();
for(var i=0; i<selectedRows.length; i++){
var changedRow = bookRefTable.getRowData(selectedRows[i]);
var book_id = changedRow['book_id'];
selectedIds.push(book_id);
}
var editedRow = $('#mainTable').jqGrid('getGridParam', 'selrow');
$('#mainTable').jqGrid('setCell',editedRow, 'docs_ref', selectedIds, null, null, true);
$('#mainTable').trigger('reloadGrid');
$(this).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}//close buttons
});//close dialog
}
以及引用表的初始化:
function populateBookRefs(ids){
values = ids.split(',');
grid.jqGrid({
...
loadComplete: function(){ //event executed after server request
for(var i=0; i<values.length; i++){
grid.jqGrid('setSelection',values[i],true);
}
}
...
});
}
【问题讨论】:
标签: jqgrid