作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个客户在进行排序时特别不喜欢列标题中的下一个数字。这源于 UI-Grid 的多重排序,它为每一列赋予编号的优先级。有没有办法禁用多重排序以删除这些数字?我仍然想保持排序激活,但一次只能在一个列上。
谢谢。
最佳答案
我自己也遇到过这个问题。如果您仔细查看 ui0grid.js 代码,您会发现(此时)没有选项可以禁用它。 ui-grid 的作者在 this thread 中表示他们欢迎对此类功能的请求。
但是,您想要的是修复,而不是 promise ;-)
您可以发现在 sortChanged 方法中选择了多少个 sortColumn。
尝试这样的事情:
$scope.gridOptions.onRegisterApi = function(gridApi) {
$scope.gridApi = gridApi;
// Register a handler that is fired everytime someone changd the sort params.
$scope.gridApi.core.on.sortChanged($scope, function(grid, sortColumns) {
if (sortColumns.length > 1) {
// We have more than one sort. Kill the first one.
// If this works we'll only ever have 0, 1 or 2 sortColumns,
// and only ever 2 for the lifetime of this method.
var column = null;
for (var j = 0; j < grid.columns.length; j++) {
if (grid.columns[j].name === sortColumns[0].field) {
column = grid.columns[j];
break;
}
}
if (column) {
sortColumns[1].sort.priority = 1; // have to do this otherwise the priority keeps going up.
column.unsort();
}
}
});
};
关于angular-ui-grid - 如何在 ui-grid 中禁用多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762180/
我是一名优秀的程序员,十分优秀!