jquery - jqGrid 具有用户自定义的高级搜索和 addJSONData 填充

标签 jquery jqgrid

我一直想创建自己的搜索对话框来创建与 jqGrid 文档中提到的方法不同的搜索条件。这有很多原因,包括但不限于对日期范围的良好支持、更人性化的搜索对话等。

我只是想知道是否有人尝试过创建此流程,以及在投入实现之前作为创建您自己的复杂搜索的解决方法有多有效:

  1. 创建一个对话框,用户在其中插入搜索所需的信息(与当前 jqGrid 高级自定义搜索的对话框不同)
  2. 请求发送到服务器并以 JSON 形式检索,我可以使用 addJSONData 方法将其插入到网格中。
  3. jqGrid 将保留搜索值的分页,以便在按下下一个上一个按钮后分页能够正常工作(根据搜索条件获取数据)被击中。

所以问题是:如果我更改过滤器,我可以使下一个上一个导航对我有用吗? code> 使用 setGridParam 包含在搜索导航过程中使用的相同data。当触发 onPaging 事件并且使用简单的逻辑指示正在对搜索的数据进行分页时,可能会发生这种情况?

非常感谢。

最佳答案

首先我可以提到,我对自定义搜索对话框的实现有点悲观。原因是您将在实现上投入大量时间。我建议您最好在标准搜索对话框中使用自定义控件。申请后the changes我建议现在这是可能的。

看看the demo它允许您创建搜索对话框,例如

enter image description here

以这种方式,您可以解决您在问题中描述的许多问题。

如果您决定创建自定义搜索对话框,则必须执行以下操作:

  • 新的搜索对话框应在 postData 属性中添加有关搜索条件的信息。
  • 使用 .trigger.("reloadGrid") 重新加载网格

您不需要向服务器发出单独的 Ajax 请求。您需要重新加载网格。

如果您想在 postData.filters 中保存有关过滤器的信息,您必须持有 the standard format 。在这种情况下,您可以利用本地数据过滤(datatype: 'local' 或使用 loadonce: true)。请参阅 the answer 的演示举个例子。

如果您想在服务器端实现数据过滤,则只能使用任何格式的附加属性(请不要使用相同名称的filters)。如果您希望搜索过滤器(控件)始终在页面上可见,我建议您使用将 postData 属性作为函数的技术(请参阅 the answer )。

关于jquery - jqGrid 具有用户自定义的高级搜索和 addJSONData 填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284075/

相关文章:

jqgrid - 在 jqgrid 中指定默认过滤器

jquery - 带有 Twitter Bootstrap 的响应式/流畅的 jQGrid

javascript - jQuery div 旋转器

javascript - 添加动态数据时,jQuery Mobile 自动完成显示列表

javascript - jquery onclick 事件不起作用

javascript - 如何停止 HTML 页面中 Tab 键的默认操作

events - beforeRequest事件jqGrid : set jqGrid page before url is called

jquery - Zend framework 和 jQuery Mobile,无法导入 Javascript 和 CSS 文件

jqgrid - 在客户端以编程方式过滤 jqGrid?

jquery - 如何在 jqgrid loadonce 模式下执行 (SQL LIKE) 搜索