Jqgrid: navegación basada en la fila seleccionada

Intentaba habilitar la navegación en función de una fila seleccionada. Entonces, el usuario selecciona una fila de jQgrid, y cuando presiona el progtwig (¿hay un botón de mostrar para la grilla, vi editar, agregar etc.), necesita ir a una nueva página basada en la url (parte de la fila) )

$(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'); }); 

por lo tanto, la url se pasa para cada fila como dataUrl. Intento leerlo y establecerlo en el botón. Cuando se depuró a través de Firebug, el rowid era 223 (solo había 12 filas en la grilla), y el valor de la celda está vacío. Actualmente, el botón se mantiene fuera de la cuadrícula, pero es mejor que sea parte de la red vavGrid

Gracias.

El siguiente código podría resolver su problema

 $("#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'); } }); 

Simplemente podría hacer que el botón de mostrar sea parte de cada fila en la grilla y usar un formateador personalizado para convertirlo en una URL.

Según el ejemplo en la wiki, probablemente necesites algo similar a

 function myformatter ( cellvalue, options, rowObject ) { return "Show"; }