光滑网格 - 对复杂对象进行排序
slick grid - sort complex object
我正在尝试对复杂字段进行排序,例如:
$scope.usersGrid.cols.push({id: 'loginName', field: 'customObject.loginName', sortable: true);
我不得不使用以下选项来显示"loginName"值:
$scope.usersGrid.gridOptions = {
dataItemColumnValueExtractor: getItemColumnValue
};
函数为:
var getItemColumnValue = function(item, column) {
if(column.id === 'loginName'){
return item.customObject.loginName;
}
else {
return item[column.field];
}
};
如何使 slickGrid 对此列进行排序?
提前致谢:)
好的。我找到了一个解决方案,只是使用相同的"getItemColumnValue"函数进行排序:
function sortByFieldName(field, asc, sortCol) {
var column = sortCol ? sortCol : defSortCol;
if (field && asc) {
column.field = field;
column.asc = asc;
} else if (!column.field) {
return;
}
var comparer = function (a, b) {
var n = getItemColumnValue(a,column);
var m = getItemColumnValue(b,column);
var isANumber = !isNaN(parseFloat(n)) && isFinite(n);
var isBNumber = !isNaN(parseFloat(m)) && isFinite(m);
if (isANumber && isBNumber) {
var firstArg = parseFloat(n);
var secondArg = parseFloat(m);
return firstArg > secondArg ? 1 : firstArg < secondArg ? -1 : 0;
}
if (getItemColumnValue(a,column) > getItemColumnValue(b,column)) {
return 1;
} else if (getItemColumnValue(a,column) === getItemColumnValue(b,column)) {
return 0;
} else {
return -1;
}
};
dataView.sort(comparer, column.asc);
}
var comparer = function (a, b) {
a = getItemColumnValue(a,column);
b = getItemColumnValue(b,column);
if ((!isNaN(parseFloat(a)) && isFinite(a)) && (!isNaN(parseFloat(b)) && isFinite(b))) {
a = parseFloat(a);
b = parseFloat(b);
return a > b ? 1 : (a < b ? -1 : 0);
} else {
console.error("Values given are not a number or finite.");
return false;
}
};
相关文章:
- 如何在节点中进行 Json 对象排序.js
- jQuery.每个对象排序
- Javascript对象排序
- Javascript 对象排序
- Javascript中的JSON对象排序
- jQuery停止对象排序
- 带有下划线排序的对象排序的数组
- JS对象排序日期排序
- JSON对象排序被jQuery或Javascript篡改
- 高级对象排序
- 将json对象排序到嵌套树中
- 按两个不同的条件对数组中的对象排序
- 如何在angular js中使用自定义排序顺序对对象排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- 给定一个对象数组,如何根据深度为n的属性对对象排序
- JavaScript数组对象排序没有按预期工作
- 对数组内的对象排序
- 自定义javascript对象排序和维护索引关联
- Javascript对象排序不工作
- Javascript对象的对象排序