6
当我使用jqgrid并在顶部工具栏过滤器或高级过滤器上输入值,然后单击网格页脚中的“刷新网格”按钮时,它将清除值在过滤器中。jqgrid刷新网格按钮不传递过滤器
这是jqgrid中的一个错误,还是有一些你必须明确地做它,以保持工具栏列过滤器的状态。
有无论如何得到这个工作?
当我使用jqgrid并在顶部工具栏过滤器或高级过滤器上输入值,然后单击网格页脚中的“刷新网格”按钮时,它将清除值在过滤器中。jqgrid刷新网格按钮不传递过滤器
这是jqgrid中的一个错误,还是有一些你必须明确地做它,以保持工具栏列过滤器的状态。
有无论如何得到这个工作?
如何在jqGrid的源代码中看到(请参阅here)行为是通过设计来实现的。我能找到的最老版本的jqGrid是jqGrid 3.5.2,在版本中,网格过滤器也重新设置了版本。
如果你需要重装按钮的另一种行为,你可以添加(使用navButtonAdd)您的自定义按钮,它看起来像原来的重载按钮(猫有“UI图标刷新”为buttonicon
参数)和实施的另一个行为重装。例如,您可以拨打trigger("reloadGrid", [{page:1}])
。
重新加载定制的另一种可能性是beforeRefresh和afterRefresh事件。
@Oleg - 感谢您的反馈。当你说这是“按设计”时,你认为有人会想刷新过滤器?看起来像一个奇怪的设计和更多的疏忽。 。 – leora 2011-05-09 21:31:27
@ooo:我明白你的意思,但在jqGrid的所有实现中,“刷新”按钮完全相同:清除过滤器并重新加载网格。它与搜索对话框中的“重置”按钮几乎相同。如果我要实现“刷新”按钮,我会实现更多的**从服务器**刷新,而不是重置过滤器。在'loadonce:true'的情况下,我会首先保存'datatype'('json'或'xml')的原始值,并在“刷新”按钮中重新设置'datatype'的原始值并重新加载网格改变过滤器。 – Oleg 2011-05-09 21:55:19
@ooo:jqGrid的优点是,你可以相对容易地实现你需要的行为(请参阅我的主要答案) – Oleg 2011-05-09 21:56:28