【问题标题】:How can I get the number of rows displayed in a jqGrid?如何获取 jqGrid 中显示的行数?
【发布时间】:2012-11-19 20:39:06
【问题描述】:

也许这些信息已经存在,而我的 Google-fu 让我失望了,但我似乎找不到答案。如何获取 jqGrid 中当前显示的行数

我在该主题上找到的每个问题和答案都会告诉您如何获取行数(显示或不显示)或加载的行数通过外部服务。相反,我试图获取 jqGrid 的当前页面中显示了多少行。我的 jqGrid 属性之一是 rowList:[10,20,30],但我不确定如何访问自己选择了哪一个。

我想要的只是在 jqGrid 的每一页上当前显示了多少行。到目前为止我发现的最接近的东西是this Q&A,但这显示了有多少<tr>s,并不是我真正需要的。

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:
    $('.ui-pg-selbox').val()
    

    在最新的 jqGrid (4.4.1) 上测试

    当然,如果每页有多个 jqGrid,则可以使用包装器来确保它是您要查找的。​​p>

    $('#myjqGridWrapper .ui-pg-selbox').val()
    

    不确定这是否是最好的方法,但它可以完成工作。

    空格表示后代选择器,即它查找包含ui-pg-selbox 类的元素,这些元素是包装器#myjqGridWrapper 的后代。这需要在你的桌子周围有一个div 或其他一些包装器。


    更新:另外,如果您有table ID 或引用,您可以使用更可靠的方式来查询其jqGrid 实例的.ui-pg-selbox

    $('#jqgridTableId').closest('.ui-jqgrid').find('.ui-pg-selbox').val()
    

    【讨论】:

    • 恐怕这对我不起作用。在var rowCount = $('#searchTable.ui-pg-selbox').val(); 中,变量rowCount 在执行后仍然未定义。
    • 你忘了#searchTable后面的空格 -> $('#searchTable .ui-pg-selbox').val();
    • 哇。你能解释为什么它适用于空间而不是没有它,并将它放在你的答案中吗?我的表的 id 不包含空格。我认为对象的元素总是直接用它们后面的点来访问?
    • searchTable 是表的 ID 还是包装器?只是为了确保在我将其写在答案中之前。
    • 这是身份证。实际上添加空间没有用,哈哈。但是没有标识符的第一个版本对我来说可以正常工作,因为我没有多个 jqGrids。
    【解决方案2】:

    以下将返回网格页面上显示的行数:

    $('#myjqGridWrapper').getGridParam('reccount');
    

    【讨论】:

      【解决方案3】:

      您不应该依赖视图来获取信息。您应该从 JQGrid 模型中提取这些信息。您可以通过调用 getGridParam 方法来做到这一点,如下所示:

      var rowNum = jqGrid.getGridParam('rowNum');
      

      更多信息请看这里:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options

      【讨论】:

      • 来自文档:“rowNum - 设置我们想在网格中查看多少条记录。”。换句话说,如果他总共有 7 行,但选择查看每页 10 行,那么 jqGrid.getGridParam('rowNum') 将返回 10,而不是 7。
      猜你喜欢
      • 1970-01-01
      • 2012-03-18
      • 2014-10-04
      • 2010-11-17
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多