我正在使用启用了工具栏搜索的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
答案 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']} }
我觉得设置排序类型以便搜索正常工作非常违反直觉。最好是拥有一种数据类型。