【问题标题】:Multiple search with multiplefields by default默认情况下使用多个字段进行多次搜索
【发布时间】:2011-04-28 06:26:05
【问题描述】:

所以,有一个带有声明的 jqGrid,类似于:

$("#grid").jqGrid({
...
bunch of stuff
...
).searchGrid({ multipleSearch: true });

这很好,当我单击“搜索”按钮时,它会给我带来模态表单,我猜是第一列和一个下拉列表:searchoptions: { sopt: ['eq', 'ne', 'cn']}。 现在,我希望能够默认显示几个这样的字段,而不仅仅是一个。我知道我可以稍后通过单击添加来添加它们,但我想默认显示它们。

工具栏搜索不是一种选择。

提前致谢,

【问题讨论】:

    标签: jquery search jqgrid


    【解决方案1】:

    查看Toolbar Searching。它为每个可搜索列显示一个字段。如果您另外使用stringResult:true 选项,您将收到与Advanced Searching 最兼容的结果。顺便说一句,您包含Toolbar SearchingAdvanced Searching (multipleSearch: true) 这两个功能,高级搜索对话框将使用Toolbar Searching 的最后搜索结果进行初始化。所以你会在Advanced Searching开头有两三行。

    更新:使用Toolbar Searching后,Advanced Searching的对话框会显示不为空的原因是两者都使用postDatafilters参数。因此,如果您初始化postData,您可以获得一个很好的起点。请参阅the demo。你会看到

    更新:在another answer 中,您将找到如何删除搜索对话框的最后一行(带有“Inv No”),这不是postData.filters 中搜索规则的一部分.

    【讨论】:

    • 很酷的人,实际上,我已经使用贾斯汀提供的解决方案做到了这一点,并且效果很好,但是,也尝试了你的 - 很简单。很容易。谢谢!
    【解决方案2】:

    您无法使用 jqGrid API 执行此操作。相反,您必须在显示搜索对话框后使用afterShowSearch 事件来调用函数。在该函数中,您可以以编程方式添加新行,将每一行设置为所需的值。

    【讨论】:

    • 谢谢贾斯汀,这是要走的路,我希望我可以避免这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多