【问题标题】:How to Get Selected Row Index if Paging is Used in JQGrid?如果在 JQGrid 中使用分页,如何获取选定的行索引?
【发布时间】:2014-03-13 09:19:58
【问题描述】:

我在我的应用程序中使用 jqGrid,我必须选择当前选择的行索引。 我正在使用此代码。

var selectedrow = $('#s_1_l').jqGrid('getGridParam','selrow');

但我从这个http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options 站点发现,如果我使用分页,它将设置为空。如果我在 jqGrid 中使用分页,有什么方法可以获得选定的行?

谢谢。

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    jqGrid 仅对当前页面支持selrow。不支持任何类型的选定行的持久性。

    有很多方法(并不总是简单的)来实现不同的持久选择场景。

    例如the answerthis one one 演示了如何实现独立于分页的保存选定行。

    我为the answer 创建的The demo 显示了如何保留当前页面和选定的行。只需尝试选择一行然后更改页面并返回原始页面即可。您将看到所选行保持选中状态。该演示将选定的行、当前页码和一些其他状态保存在网络浏览器的localStorage 中。因此,如果您甚至 重新加载页面(使用 F5)或关闭网络浏览器并在同一页面上再次打开它,您将看到相同的行被选中并且相同选择的页面。

    希望以上的demo和相应的答案和描述能帮助你解决问题。

    【讨论】:

    • Oleg 非常感谢这个精心制作的回复。只是为了更新如果我需要在当前页面中获取选定的行,我该怎么做?假设我在第 8 页和每个页面中有10条记录。所以如果我选择第8页的第3条记录,我需要将selrow索引设置为3,但是由于分页它返回null。请您在这方面提出建议。
    • @Chiranjit:不客气!很难理解您的意思,因为您仍然没有包含您使用的 JavaScript 代码并且没有提供任何测试数据。 selrow 持有 rowid 而不是 index。仅当您以错误的方式填充网格(未指定每个数据项的id)时,每个页面上的 rowids 将是 1,2,3...。在这种情况下,您将无法区分不同页面上的 rowid=3。此外,您写了null 的值,但您没有发布何时(在哪个回调内部或代码的哪个位置)您得到selrow
    • 是的,再次感谢您。您是救生员。您正确指出,它返回 null,因为它正在执行先前的文档加载。该问题已修复。我在我的问题中发布的关于 selrow 的上述代码工作正常。你能告诉我如何在 jqGrid 中找到该选定行的特定列值吗?
    • @Chiranjit:不客气!例如,您可以使用var cellValue = $("#s_1_l").jqGrid("getCell", selectedrow, "columnName"); 从行ID 为selectedrow 的行和名称为"columnName" 的列中的单元格中获取值。如果您需要获取所有(或许多)值,您可以使用getRowData 而不是getCell。如果您在本地保存数据(例如datatype: "local"),那么最好使用getLocalRow
    • @Chiranjit:如果您的主要问题得到解决,您应该"accept" 回答。
    猜你喜欢
    • 1970-01-01
    • 2021-08-25
    • 2016-07-27
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多