我正在使用 Kendo-Grid,它有一列具有数字和字符串 (NA) 的值。知道如何对它们进行排序吗?
问问题
10755 次
4 回答
8
您可以使用自定义比较功能对它们进行排序。这是一些示例代码,它将带有“N/A”的项目放在顶部:
$("#grid").kendoGrid({
dataSource: [
{ price: 1 },
{ price: "N/A" },
{ price: 20 },
{ price: 2 }
],
sortable: true,
columns: [
{
field: "price",
sortable: {
compare: function(a, b) {
var x = a.price;
var y = b.price;
if (x == 'N/A') {
x = 0;
}
if (y == 'N/A') {
y = 0;
}
return x - y;
}
}
}
]
});
这是一个现场演示:http: //jsbin.com/urUXOCa/1/edit
于 2013-09-26T06:39:32.903 回答
1
于 2013-09-28T15:24:44.293 回答
0
将字段值设为数字。然后,如果需要,在显示时添加字符串。
请参考这个寻求帮助:排序数字(美元和百分比)不起作用
于 2013-09-25T19:53:38.583 回答
0
据我所知,没有办法为字段创建自己的排序函数。我确实找到了http://sympletech.com/how-to-enable-case-insensitive-sorting-on-kendo-ui-grid/有人实现了你所要求的东西(他只是在做不区分大小写的排序)。
我不得不这样做一次(幸好在不可编辑的网格上,只是显示数据),我只是使用模板欺骗了网格。通过在数据绑定之前检查数据,向其中添加另一个属性来表示可以正确排序的数据,并将网格绑定到该列而不是原始列,但使用返回原始数据值的模板。
见 jsbin http://jsbin.com/ETaZOSu/1/edit
于 2013-09-25T19:55:02.043 回答