Сортировка сгенерированной ng-таблицы не работает

Я хотел бы отобразить что-то вроде этого:

введите здесь описание изображения

И, щелкнув заголовок столбца (th), отсортируйте мою таблицу. Но мне не удается использовать компонент ng-table с моей структурой данных. Таблица отображается правильно, но сортировка не работает.

Демонстрация не работает

HTML

<table ng-table="tableParams" class="table">
    <tr class="keyword-info">
        <th></th>
        <th ng-repeat="keyword in AppKeywords[0].keywordDensity">{{keyword.keyword}}</th>
    </tr>
    <tr class="keyword-info" ng-repeat="app in AppKeywords">
        <td><span class="bold">{{app.name}}</span><br>{{app.totalKeywordDensity}}% ({{app.totalKeywordCount}})</td>
        <td sortable="'stats.density'" ng-repeat="stats in app.keywordDensity">{{stats.density}}% ({{stats.number}})</td>
    </tr>
</table>

Контроллер

$scope.tableParams = new ngTableParams({
    page: 1,            // show first page
    count: 10          // count per page
}, {
    total: $scope.AppKeywords.length, // length of data
    getData: function($defer, params) {

        var orderedData = params.sorting() ?
            $filter('orderBy')($scope.AppKeywords, params.orderBy()) :
            $scope.AppKeywords;

        $scope.AppKeywords = $filter('orderBy')($scope.AppKeywords, params.orderBy());
        $defer.resolve($scope.AppKeywords);
    }
});

ПриложениеКлючевые слова:

Console.log($scope.AppKeyword)


person Radyum    schedule 22.01.2015    source источник
comment
Это довольно сложно, как насчет приятеля JSFiddle?   -  person Code Whisperer    schedule 22.01.2015
comment
Я сделал плункер, я поместил ссылку в свой первоначальный вопрос.   -  person Radyum    schedule 22.01.2015
comment
Только что посмотрел, не ясно, что все, что должно работать, не работает. Не могли бы вы обновить, чтобы четко указать, какова желаемая функциональность?   -  person Code Whisperer    schedule 22.01.2015
comment
bazalt-cms.com/ng-table/example/3 -- я хочу такую ​​же функциональность на моем столе. Например, когда я нажимаю на музыку, я бы хотел, чтобы строки таблицы сортировались по восходящей или нисходящей плотности музыки (%).   -  person Radyum    schedule 22.01.2015
comment
Не могли бы вы написать это на скрипке?   -  person Code Whisperer    schedule 22.01.2015
comment
Готово, в описании.   -  person Radyum    schedule 22.01.2015
comment
Посмотрел, и хотя вы близки, код слишком сложен, чтобы можно было устранять неполадки. Вы захотите установить фильтр orderBy на свой <tr> и добавить собственный фильтр. Это точно.   -  person Code Whisperer    schedule 22.01.2015


Ответы (1)


Я не уверен, что ваша таблица структурирована, но обычно для сортировки ng-table требуется '',

так что попробуй с

<td sortable="'stats.density'" ng-repeat="stats in app.keywordDensity">{{stats.density}}% ({{stats.number}})</td>
person anandaravindan    schedule 22.01.2015
comment
То, как вы используете ng-table, неверно, на самом деле вы вообще не используете ng-table. Вы просто создаете таблицу с обычным ng-repeat, здесь сортировка должна выполняться самостоятельно. - person anandaravindan; 22.01.2015
comment
Вам нужно повторить свои строки, используя синтаксис ng-table, как показано ниже. - person anandaravindan; 22.01.2015
comment
‹th ng-repeat=ключевое слово в $data›, где вся ваша сортировка будет выполняться таблицей ng с использованием $data - person anandaravindan; 22.01.2015