带有导航栏/寻呼机的jqGrid,其自定义功能绑定到编辑按钮

时间:2012-01-20 21:58:13

标签: javascript jquery jqgrid

我正在使用生成交互式tables called jqGrid

的jQuery插件

我想使用这个“editfunc”(页面下方的2 / 3rds或3/4),但我找不到如何在任何地方实现它的明确示例。我尝试了几件不同的事情,所有这些都让我彻底失败了。

要清楚,生成的表看起来像这样:

enter image description here

下面的栏被称为“navpbar”或“pager”,你将它作为一个单独的DIV实现,API和文档对于我究竟如何将自定义函数放到这些按钮上非常不清楚(比如我自己) “添加”,“编辑”,“删除”等...我可以使默认功能正常工作,但我无法通过websearches,本网站或API文档找到任何实际实现的内容。

1 个答案:

答案 0 :(得分:3)

jqGrid已经开源了。它有助于直接在代码中清除所有问题。以the lines为例。您将看到navGrid点击导航器的“编辑”按钮时所做的事情:

var sr = $t.p.selrow;
if (sr) {
    if($.isFunction( o.editfunc ) ) {
        o.editfunc(sr);
    } else {
        $($t).jqGrid("editGridRow",sr,pEdit);
    }
} else {
    $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$t.p.id,jqm:true});
    $("#jqg_alrt").focus();
}

因此,如果您定义editfunc回调函数,则会调用函数,并将所选行的ID作为参数,而不是editGridRow创建编辑对话框。

方法editGridRow具有许多自定义功能。 navGridprmEdit参数允许指定editGridRow使用的任何选项。

如果您不想显示编辑表单并显示任何其他GUI,则可以使用editfunc回调函数。例如:

$("#list").jqGrid('navGrid', '#pager', {
    editfunc: function (rowid) {
        alert('The "Edit" button was clicked with rowid=' + rowid);
    }
});

the demo。选择一行并单击“编辑”按钮,您将看到alert而不是标准编辑表单。