数据:
16.00 小时 19.99 小时 210.46 小时 262.54 小时 303.19 小时 55.95 小时 60.07 小时 64.07 小时 7.95 小时
我想要的是:
我需要允许在 koGrid 中对这个数据之王进行排序(通过单击网格标题、asc 或 desc 排序的默认功能)。
问题:
数据是字符串,因此您可能会猜到它是如何排序的 - 通过字符代码。我有哪些选择?我发现一列可以分配 sortFn,我猜是这样的?
代码:
this.gridOptions = {
canSelectRows: false,
showColumnMenu: false,
showFilter: false,
columnDefs: [
{ field: 'localizedName', displayName: 'Name' },
{
field: 'localizedDuration', displayName: 'Duration',
sortFn: function (itemA: string, itemB: string) {
var numA = parseFloat(itemA);
var numB = parseFloat(itemB);
if (!numA && !numB)
return 0;
else if (!itemA && (itemA === undefined || itemA === null))
return 1;
else if (!itemB && (itemB === undefined || itemB === null))
return -1;
if (numA > numB)
return -1;
else if (numA < numB)
return 1;
return 0;
}
},
],
data: this.dataRows
};
小提琴: JSFiddle