【发布时间】:2011-10-30 18:21:00
【问题描述】:
我正在使用 jqGrid 的filterToolbar 方法让用户快速搜索/过滤网格数据。我使用loadonce: true 和datatype: local 作为我的网格配置。我的一个列有一个下拉(选择)过滤器类型,效果很好。
问题是当我尝试更新不可见的行(使用setRowData)时(因为过滤器/搜索结果隐藏了它们),当我通过清除过滤器重新显示它们时,该行没有得到更新。
有什么建议吗?我也尝试过触发reloadGrid 事件,没有运气。
干杯
更新 1 - 重现问题:
这里是重现问题的方法,使用 jqGrid 的官方演示:
第一步
浏览到 jqGrid 的演示页面,并在 'New in version 3.7' 下打开名为 'Toolbar search' 的演示
第 2 步
在演示网格中,按值为 575878 的代码列进行过滤,以便网格上仅显示第一行。
第三步
打开 javascript 控制台并更新当前不可见的行,在此示例中更新第 2 行:
jQuery("#toolbar").jqGrid('setRowData',2,{item_id:2,item:'blargh',item_cd:12345678});
第四步
通过清除过滤器值取消隐藏所有行,并看到第 2 行没有更新!
我在这里做错了什么?可能的解决方法?
【问题讨论】:
-
您应该在问题中包含您使用的 JavaScript 代码和从服务器返回的 JSON 数据。之后,其他人将能够重现您的问题。通常
setRowData也可以处理隐藏数据。 -
@Oleg 我已经用重现问题的步骤更新了问题,似乎 setRowData 不适用于隐藏行。还有其他方法可以更新这些隐藏的行吗?干杯
标签: jqgrid