我想点击一个链接获得编辑对话框..我已经附上了代码

时间:2016-11-17 06:25:02

标签: asp.net jqgrid

这是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 });
});

1 个答案:

答案 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

其他答案,对您有所帮助:this onethis one