这是ColModel:
{name: "FirstName", index: "FirstName", width: 100, sortable: true, editable:true, formatter: GetRow}
function GetRow(cellvalue, options, rowObject) {
return "<a href='#' class='GetLink'>" + cellvalue + "</a>";
}
$('.GetLink').click(function (rowid) {
var row = $('#grid').jqGrid('getGridParam', 'selrow');
$('#grid').jqGrid('editGridRow', row, { recreateForm: true, closeAfterEdit: true, closeOnEscape: true, reloadAfterSubmit: false });
});
答案 0 :(得分:0)
您当前的代码有一些缺点。我建议您使用formatter: "actions"
选项formatoptions: { editformbutton: true }
而不是自定义格式化程序来创建编辑/删除按钮(请参阅the old documentation,其中介绍格式化程序的选项,例如{{1在网格的每一行中删除删除按钮)。 The old answer描述了更详细的方法,并提供the demo,其中演示了delbutton: false
的用法。
如果您更愿意使用自定义格式化程序,则可以使用formatter: "actions"
代替<span>
:
<a>
,其中
return "<span class='GetLink'>" + cellvalue + "</span>";
而不是使用.GetLink { text-decoration: underline; cursor: pointer; }
,为每个hiperlink注册单独的点击处理程序,我建议您使用一个点击处理程序网格。 jqGrid已经注册了这样的点击处理程序,并允许使用关于$('.GetLink').click
回调的自定义操作。它节省了Web浏览器的内存,并允许在每次重新加载网格后进行一次绑定,而不是重新应用绑定。有关详细信息,请参阅the answer。