获取自定义按钮单击的行数据

我正在使用免费的jqgrid 4.14,我需要在我的网格中有一个自定义图像(某种邮件图标),当点击图像时,它应该打开一个模式窗口,其中有一个表单,并且在邮件中有单击行的数据表单的字段,还有其他几个字段,如发件人邮件ID,接收者邮件ID和主题。

所以,我能够在我的网格中有一个自定义图像。 现在,我们有onSelectRow属性,通过它我们可以获得所单击行的id,并且我们有getRowData ,它将给出列的数据。

所以,我改变了onSelectRow有点像这样

onSelectRow: function(id){ if(id && id!==lastSel){ jQuery(this).restoreRow(lastSel); lastSel=id; var rowId = $(this).getRowData(lastSel); } jQuery(this).editRow(id, true); } 

现在,这将在单击时提供每行的数据。 但是,如果点击自定义图像,我将如何获得相同的function?

编辑:我需要这样的东西 –

http://www.ok-soft-gmbh.com/jqGrid/Admin3.htm

但在这里,我无法找到像这里找到的图像

有许多方法可以实现这一要求。 一个是我在答案中描述的最简单的一个。 您可以使用formatter: "actions"添加列formatter: "actions"

 { name: "act", template: "actions", width: 25, formatoptions: { editbutton: false, delbutton: false } } 

和jqGrid选项,指定其他自定义按钮

 actionsNavOptions: { mailicon: "fa-envelope-o", custom: [ { action: "mail", position: "first", onClick: function (options) { alert("Mail for rowid=" + options.rowid); } } ] } 

见https://jsfiddle.net/OlegKi/3tuxg71z/