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

时间:2017-04-20 12:48:13

标签: javascript jquery jqgrid

我正在使用免费的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); 
        }

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

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

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

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

1 个答案:

答案 0 :(得分:0)

有许多方法可以实现这一要求。一个是我在the answer中描述的最简单的一个。您可以使用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/