代码之家  ›  专栏  ›  技术社区  ›  Dan

分页时在jqgrid中保存所选行

  •  4
  • Dan  · 技术社区  · 15 年前

    我有一个jqgrid,用户可以用它选择记录。可以跨多个页面选择大量记录。

    当用户翻阅数据时,所选行似乎被清除。是否由开发人员手动跟踪数组中的选定行?我很好,但我不知道最好的方法是什么。我不确定我是否要在选择任何数量的记录时拼接一个数组,因为这似乎真的会减慢速度。

    我的最终目标是有一个jqueryui对话框,当它关闭时,存储所有选定的行,以便我可以将其发布到服务器。

    洞察、提问、评论;所有人都很感激!

    注意:只添加了aspnetmvc标记,因为这是用于mvc应用程序的

    3 回复  |  直到 13 年前
        1
  •  1
  •   Craig Stuntz    15 年前

    是的,由开发人员手动跟踪此选择。不过,您不必使用数组;您可以使用任何您喜欢的数据结构。

        2
  •  1
  •   Jeremy B.    15 年前

    我会将选中的每一行加载到 $.data() 容器。这样,您就可以将它们存储在远离网格的地方,当用户完成选择之后,您就可以使用一个很好的打包数据集了。

        3
  •  1
  •   Paul    13 年前

    我有一个类似的要求,遇到了这个职位。我想我会分享我的解决方案:

    var selId;
    $("#grid").jqGrid({
        ...
        onSelectRow: function(id){ 
            selId = id;
        },
        gridComplete: function() {
            $("#grid").setSelection(selId, true); 
        },
        ...
    });
    

    这只适用于一个选择,但可以通过 selId 数组。