Jqgrid:基于选定行的导航

我正在尝试启用基于选定行的导航。 所以,用户从jQgrid中select一行,当按下显示(有一个显示button的网格,我看到编辑,添加等),它需要去基于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传递给每一行。 我正在尝试阅读并设置到button。 当通过萤火虫debugging时,rowid是223(网格中只有12行),单元格值为空。 目前该button保持在网格外,但最好是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'); } }); 

您可以使显示button成为网格中每一行的一部分,并使用自定义格式化程序将其转换为URL。

根据wiki中的例子,你可能需要一些东西

 function myformatter ( cellvalue, options, rowObject ) { return "<a href=\"" + cellvalue + "\">Show</a>"; }