我尝试根据所选行启用导航。因此,用户从jQgrid中选择一行,当按下show(有网格的显示按钮,我看到编辑,添加等)时,它需要根据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传递给每一行。我正在尝试阅读它并设置按钮。通过firebug进行调试时,rowid为223(网格中只有12行),单元格值为空。目前按钮保持在网格之外,但最好是它是vavGrid的一部分
感谢。
答案 0 :(得分:15)
以下代码可以解决您的问题
$("#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');
}
});
答案 1 :(得分:4)
您可以让show按钮成为网格中每一行的一部分,并使用custom formatter将其转换为URL。
根据wiki中的示例,您可能需要一些基于
的内容function myformatter ( cellvalue, options, rowObject )
{
return "<a href=\"" + cellvalue + "\">Show</a>";
}