【问题标题】:Can I customize text on jqGrid search options on per-column basis?我可以按列自定义 jqGrid 搜索选项上的文本吗?
【发布时间】:2011-06-03 17:03:44
【问题描述】:

因此,在我的 ASP.NET MVC 3 应用程序中,我的页面上有 jqGrids。我已经按列自定义了搜索操作,如下所示:

colModel: [
   { name: 'IceCreamName', index: 'IceCreamName', align: 'left',
     searchoptions: {sopt: ['eq', 'ne', 'cn']} },
.
.
.
   { name: 'InitialDate', index: 'InitialDate', align: 'left',
     searchoptions: {sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le']} },
   { name: 'Volume', index: 'Volume', align: 'left',
     searchoptions: {sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le']} }

]

对于本示例,这将为我提供名称上的 Equal、NotEqual、Contains,以及日期和数量列上的 Equal、NotEqual、GreaterThan、LessThan、GreaterThanOrEqual 和 LessThanOrEqual。精彩的。这种定制很棒。

我特别想做的是自定义这些列的搜索操作下拉列表中显示的字符串。例如,对于 InitalDate 列,我希望 'gt' 显示 "after" 而不是 "greater"(对用户更有意义)和类似 "on 或之前” 而不是“小于或等于”。

我看到我可以在 grid.locale-en.js (或任何正确的语言环境)中全局修改它们,但这是在全局级别。我希望日期和数量列具有特定于这些列的字符串。

有什么办法吗?也许我错过了文档中有关如何完成此操作的内容。

【问题讨论】:

    标签: asp.net-mvc jqgrid


    【解决方案1】:

    你没有写你使用哪个版本的jqGrid,所以我假设你使用的是最新的4.0.0版本的jqGrid。

    没有 jqGrid 选项可以使搜索对话框像你想要的那样。我觉得你的问题很有趣,所以我扩展了我的 thisthis 旧答案的代码,以便它满足你的需要。

    The demo 使用 jqGrid,其中 'invdate' 列('Date' 列)具有 searchoptions 以下内容:

    searchoptions:{sopt: ['eq', 'ne', 'gt', 'lt', 'ge', 'le'],
                   optDescriptions: {eq:'my eq', gt:'after', le:'on or before'}}
    

    optDescriptions 是我的分机。我使用搜索对话框的onInitializeSearch 方法,覆盖过滤器对话框的reDrawonchange 方法,以便使用新的optDescriptions 属性。此外,在之前的演示中,我不允许删除第一个搜索规则并将焦点设置在最后一个输入字段上。

    我建议您在the trirand forum 中提出新功能请求,以使该功能默认在 jqGrid 中实现。

    【讨论】:

    • 是的,它是 4.0。我已经提出了功能请求,并将试用您的扩展程序。感谢您的回复!
    猜你喜欢
    • 2014-03-10
    • 2012-02-22
    • 1970-01-01
    • 2013-07-01
    • 2012-08-17
    • 2011-11-16
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    相关资源
    最近更新 更多