當我在我的jqGrid當前選定的行,我有按鈕,說:「下一步」,「上一頁」,我怎麼編程方式做到這一點?經初步調查,我需要得到各行的ID,但有沒有辦法通過僅僅使用在網格中的當前選擇的行的索引要做到這一點?的jqGrid編程導航到下一個/前行
的ID在我行不連續的,是隨機的值。
感謝
當我在我的jqGrid當前選定的行,我有按鈕,說:「下一步」,「上一頁」,我怎麼編程方式做到這一點?經初步調查,我需要得到各行的ID,但有沒有辦法通過僅僅使用在網格中的當前選擇的行的索引要做到這一點?的jqGrid編程導航到下一個/前行
的ID在我行不連續的,是隨機的值。
感謝
據http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events,有行索引屬性,但它並沒有獲得在onSelectRow事件過去了。也許你能得到通過其ID行對象,並檢查其是否具有行索引,可能稱爲iRow。從那裏你只需要按行索引iRow + 1找到下一行。
var rowId;
var previousRecord = false;
var array;
function initGrid() {
array = $(ProspectsGrid).jqGrid('getDataIDs');
var i = 0;
if (previousRecord == true)
i = array.length-1;
$(ProspectsGrid).setSelection(array[i]);
rowId = array[i];
}
function GetNextRecord() {
previousRecord = false;
if (rowId != array[array.length - 1]) {
var i = 0;
while (rowId != array[i]) {
i++;
}
i++;
$(ProspectsGrid).setSelection(array[i]);
rowId = array[i];
}
else {
var currentPage = ProspectsGrid.getGridParam("page");
if (currentPage < ProspectsGrid.getGridParam("lastpage")) {
ProspectsGrid.setGridParam({
page: currentPage + 1
});
ProspectsGrid.trigger("reloadGrid");
}
}
}
function GetPreviousRecord() {
previousRecord = true;
if (rowId != array[0]) {
var i = 0;
while (rowId != array[i]) {
i++;
}
i--;
$(ProspectsGrid).setSelection(array[i]);
rowId = array[i];
}
else {
var currentPage = ProspectsGrid.getGridParam("page");
if (currentPage > 1) {
ProspectsGrid.setGridParam({
page: currentPage - 1
});
ProspectsGrid.trigger("reloadGrid");
}
}
}
$('#btnNext').click(function() {
var grid = $("#grid").jqGrid({...});
var selectedRow = grid.getGridParam('selrow');
if (selectedRow == null) return;
var ids = grid.getDataIDs();
var index = grid.getInd(selectedRow);
if (ids.length < 2) return;
index++;
if (index > ids.length)
index = 1;
grid.setSelection(ids[index - 1], true);
});
如果你解釋你發佈的代碼它會變得更好。 – 2012-11-14 00:43:49