【问题标题】:how to add new row in jqgrid in middle of grid如何在网格中间的jqgrid中添加新行
【发布时间】:2012-01-21 00:35:47
【问题描述】:

jqGrid 4.3 允许使用内联编辑添加新行。

http://trirand.com/blog/jqgrid/jqgrid.html 中的内联导航器演示 显示添加命令网格后滚动到顶部并且添加的行出现在网格顶部。 这令人困惑。

如何强制添加的行出现在当前行之前?

我将此作为功能请求发布在http://www.trirand.com/blog/?page_id=393/feature-request/force-added-row-in-inline-edit-to-appear-before-current-row/

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    the answer 中,我建议扩展addRowData 方法以支持@987654331 的新'afterSelected' 和'beforeSelected' 值(除了现有的'first'、'last'、'before' 和'after') @ 范围。我展示了一个可以覆盖(子类)原始addRowData 方法以添加支持而无需编写addRowData 的完整代码。

    在相应的demo 中,我演示了在使用form editing 的情况下如何使用该功能。

    同样的方法,我们也可以在inlineNav 方法中解决问题。 The new demo 演示一下。

    相应的代码实际上是答案代码的副本。

    var oldAddRowData = $.fn.jqGrid.addRowData;
    
    $.jgrid.extend({
        addRowData: function (rowid, rdata, pos, src) {
            if (pos === 'afterSelected' || pos === 'beforeSelected') {
                if (typeof src === 'undefined' && this[0].p.selrow !== null) {
                    src = this[0].p.selrow;
                    pos = (pos === "afterSelected") ? 'after' : 'before';
                } else {
                    pos = (pos === "afterSelected") ? 'last' : 'first';
                }
            }
            return oldAddRowData.call(this, rowid, rdata, pos, src);
        }
    });
    
    ...
    $("#list").jqGrid('inlineNav', '#pager', {addParams: {position: "afterSelected"}});
    

    可能我应该向trirand 发布相应的建议,以使用上述功能修改原始addRowData 方法。

    【讨论】:

    • 根据托尼在 trirand 论坛的回复,似乎这些已经在 jqGrid 中实现。哪种是强制添加的行出现在当前行之前的最佳方式?
    • @Andrus:请看my answer对Tony的帖子。
    • 奥列格。非常感谢。如果您创建的工具栏中的内联导航器按钮在 jqgrid 工具栏中未处于活动状态,则它们将显示为活动的上下文菜单。如何解决这个问题?
    • @Andrus:我认为应该只包括额外的测试工具栏按钮是否有'ui-state-disabled' 类。我认为您的问题与问题/答案中讨论的问题无关。这是answer 的主题,我将在其中回答您。
    • @user3850805:谢谢!顺便说一句,free jqGrid,我的 jqGrid 分支,包括addRowData 的“afterSelected”选项。因此,如果使用免费的 jqGrid,则不需要“子类化”addRowData
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多