gpt4 book ai didi

angularjs - 使用 Angular JS 进行多列排序

转载 作者:行者123 更新时间:2023-12-02 04:39:16 24 4
gpt4 key购买 nike

我有一个包含列 NameCategoryDocumentNameDate_generated 的表格。DocumentName 应该是辅助排序列,因此例如,如果我按 desc 顺序按名称排序,documentname 应始终按升序排列。单击表格标题时应进行排序。

在标题中我提到了列名如下:

ng-click="orderByFieldName=['name','doc_name']; sortOrder=!sortOrder"

并在 ng-repeat 中作为 orderBy:orderByFieldName:sortOrder

但现在两者都按升序或降序一起排序。我们如何才能单独为 doc-Name 设置默认排序顺序?

最佳答案

This was achieved using different sortOrder for the fields and based on current sortOrder we toggle the doc_name as shown below:

$scope.customSort = function () {

var docName = 'doc_name';
if (!$scope.sortOrder) {
docName = '-doc_name';
}

if ($scope.orderByFieldName == 1) {
if ($scope.sortFlag == 1) {
$scope.staffNameSortOrder = !$scope.staffNameSortOrder;
}
else {
$scope.staffNameSortOrder = false;
docName = 'doc_name';
$scope.sortFlag = 1;
}

$scope.orderByFieldName = ['staff_name', docName];
$scope.sortOrder = $scope.staffNameSortOrder;
}
else if ($scope.orderByFieldName == 3) {
if ($scope.sortFlag == 3) {
$scope.docNameSortOrder = !$scope.docNameSortOrder;
}
else {
$scope.docNameSortOrder = false;
$scope.sortFlag = 3;
}
$scope.orderByFieldName = ['doc_name'];
$scope.sortOrder = $scope.docNameSortOrder;

}
}

In the ng-repeat you can add orderBy:orderByFieldName:sortOrder

关于angularjs - 使用 Angular JS 进行多列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38822050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com