2

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

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

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

所以问题是:如果我将使用更改为包含在搜索导航过程中使用的相同内容next,我可以让导航对我有用吗?这可能在触发事件时发生,并且使用简单的逻辑表明正在为搜索的数据进行分页?previousfilterssetGridParamdataonPaging

非常感谢。

4

1 回答 1

3

首先我可以提一下,我对自定义搜索对话框的实现有点悲观。原因是您将在实施中投入大量时间。我最好建议您在标准搜索对话框中使用自定义控件。应用我建议的更改后,现在可以。

查看允许您创建搜索对话框的演示,例如

在此处输入图像描述

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

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

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

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

如果要保存有关过滤器的信息,则postData.filters必须保存标准格式。在这种情况下,您可以利用本地数据过滤(datatype: 'local'或使用loadonce: true)。以答案中的演示为例。

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

于 2012-04-23T16:38:16.360 回答