【问题标题】:jqGrid with navbar/pager having a custom function bound to the edit button带有导航栏/寻呼机的 jqGrid 具有绑定到编辑按钮的自定义功能
【发布时间】:2023-03-14 16:51:01
【问题描述】:

我正在使用生成交互式 tables called jqGrid 的 jQuery 插件。

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

为了清楚起见,生成的表格如下所示:

那个较低的栏被称为“navpbar”或“pager”,你将它实现为一个单独的 DIV,API 和文档还不清楚(无论如何对我自己来说)我如何将自定义函数放在这些按钮上,例如“添加”、“编辑”、“删除”等...我可以让默认功能正常工作,但我无法通过网络搜索、此站点或 API 文档找到任何关于实际实现的内容。

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    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,而不是标准的编辑表单。

    【讨论】:

    • 我可以发誓这正是我所做的。我要到星期一才会回到我的办公桌,我会告诉你这是怎么回事。
    • @Incognito:好的,但是你怎么看,我的演示有效。所以我想你确实以另一种方式使用它。最好的问候。
    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    相关资源
    最近更新 更多