Я пытался включить навигацию на основе выбранной строки. Так, пользователь выбирают строку из jQgrid, и когда нажимают шоу (там выставочная кнопка для сетки, я видел редактирование, добавьте и т.д.), это должно перейти к новой странице на основе URL (часть строки).
$(document).ready(function () {
function getLink() {
// var rowid = $("#customer_list").jqGrid('getGridParam', 'selrow');
var rowid = $("#customer_list").getGridParam('selrow');
var MyCellData = $("#customer_list").jqGrid('getCell', rowid, 'dataUrl');
return MyCellData;
}
$("#customer_list").jqGrid({
url:'mytestList',
editurl:'jq_edit_test',
datatype: "json",
colNames:['Call Id','Title','dataUrl'],
colModel:[
{name:'callId', width:80, search:false},
{name:'title', width:200, sortable:false},
{name:'dataUrl',hidden:true}
],
rowNum:10,
sortname:'lastUpdated',
sortorder: 'desc',
pager:'#customer_list_pager',
viewrecords: true,
gridview: true
}).navGrid('#customer_list_pager',
{add:true,edit:true,del:false,search:true,refresh:true},
{closeAfterEdit:true, afterSubmit:afterSubmitEvent}, // edit options
{addCaption:'Create New something', afterSubmit:afterSubmitEvent,
savekey:[true,13]}, // add options
{afterSubmit:afterSubmitEvent} // delete options
);
$("#customer_list").jqGrid('filterToolbar');
});
таким образом URL передается для каждой строки как dataUrl. Я пытаюсь считать его и установить на кнопку. Когда отладка через поджигателя, rowid был 223 (было только 12 строк в сетке), и значение ячейки пусто. В настоящее время кнопка сохранена вне сетки, но она может лучше, чтобы быть этим часть vavGrid
спасибо.
Код, подобный следующему, может решить вашу проблему
$("#customer_list").jqGrid ('navButtonAdd', '#customer_list_pager',
{ caption: ""/*"Show"*/, buttonicon: "ui-icon-extlink", title: "Show Link",
onClickButton: function() {
var grid = $("#customer_list");
var rowid = grid.jqGrid('getGridParam', 'selrow');
window.location = grid.jqGrid('getCell', rowid, 'dataUrl');
}
});
Вы можете просто сделать кнопку отображения частью каждой строки в сетке и использовать настраиваемый модуль форматирования , чтобы преобразовать ее в URL.
Судя по примеру в вики, вам, вероятно, понадобится что-то вроде
function myformatter ( cellvalue, options, rowObject )
{
return "<a href=\"" + cellvalue + "\">Show</a>";
}