jqGrid工具栏搜索小数

时间:2013-04-15 22:51:21

标签: javascript jquery jqgrid

我正在使用启用了工具栏搜索的jqGrid。我已将搜索选项配置为'eq'。但是,当我在搜索栏上输入十进制数字时,不会显示有效记录。

例如: 当我输入12时,12.00的记录显示,这是正确的。 当我输入12.50时,12.50的记录未显示,这是不正确的。

我使用sorttype作为数字进行了实验,formatter使用了小数位,但我似乎无法让它发挥作用。

网格定义:

$("#productListingGrid").jqGrid({
    datastr: products,
    datatype: 'jsonstring',
    jsonReader: {
        root: 'products',
        repeatitems: false,
        cell: 'products.branches',
        id: 'productNumber'
    },
    loadonce: true,
    // -1 no longer works: https://github.com/tonytomov/jqGrid/issues/317
    rowNum: 10000,
    height: 580,
    width: 1250,
    colNames: columnNames,
    colModel: columnModel,
    sortname: 'productNumber',
    sortorder: "asc",
    caption: 'PRODUCT LIST',
    headertitles: true,
    altRows: true,
    altclass: 'gridStripe',
    gridview: true,
    footerrow: true,
    ignoreCase: true,
    shrinkToFit: false
});

我的列模型定义:

{ name: 'totalValue' , width:55, align:'right', formatter: 'currency', searchoptions:{sopt:['eq']} }

启用工具栏搜索的代码:

grid.jqGrid('filterToolbar', {searchOnEnter: false});

我可以知道这是否是目前的限制?

非常感谢。

注意: 我目前正在使用以下内容:

jQuery - 1.9.1
jQuery UI - 1.10.2
jqGrid - 4.4.5

1 个答案:

答案 0 :(得分:2)

我通过将sorttype值设置为'float'来实现此目的。

来自

{ name: 'totalValue' , width:55, align:'right', formatter: 'currency', searchoptions:{sopt:['eq']} }

{ name: 'totalValue' , width:55, align:'right', sorttype:'float', formatter: 'currency', searchoptions:{sopt:['eq']} }

我觉得设置排序类型以便搜索正常工作非常违反直觉。最好是拥有一种数据类型。