ngx-DataTable сортировка по столбцу не работает Angular 4

Хотя я новичок в angular, я столкнулся с некоторыми трудностями при использовании ngx-DataTable. Я использую простой ngx-DataTable для простых операций. Проблема в столбце, сортировка не работает, хотя я объявил attr как [sortable] = true. Вот код. Определение таблицы:

 <ngx-datatable
                [columns]="columns"
                [columnMode]="'force'"
                [headerHeight]="40"
                [footerHeight]="50"
                [rowHeight]="'auto'"
                [limit]="10"
                [rows]='contacts'>

DataTable содержит два столбца и следующие определения.

    <ngx-datatable-column
                        [width]="50"
                        [resizeable]="true"
                        [sortable]="true"
                        [draggable]="true"
                        [canAutoResize]="true" name="Name">
       <ng-template let-row="row" ngx-datatable-cell-template>
          <span>{{row.first_name}}</span>
       </ng-template>
   </ngx-datatable-column>

    <ngx-datatable-column
                        [width]="50"
                        [resizeable]="true"
                        [sortable]="true"
                        [draggable]="true"
                        [canAutoResize]="true" name="Actions">
        <ng-template let-row="row" let-rowIndex="rowIndex" ngx-datatable-cell-template>
      <!--Template Here-->
        </ng-template>
   </ngx-datatable-column>

Я просто хочу, чтобы столбец моего имени можно было сортировать. Пожалуйста, помогите мне, ребята. Заранее спасибо.


person Yash Majithiya    schedule 17.01.2018    source источник
comment
Отображается правильно таблица?   -  person Mihai Alexandru-Ionut    schedule 17.01.2018
comment
Вы можете создать свою функцию сортировки   -  person mxr7350    schedule 17.01.2018
comment
Рендеринг правильно. @ MihaiAlexandru-Ionut. У меня есть и другие страницы, на которых он работает полностью. Но не в этом. Не знаю почему ..   -  person Yash Majithiya    schedule 17.01.2018


Ответы (1)


Хорошо это решено. На самом деле он не может найти значения, по которым можно сортировать столбцы. поэтому я просто написал prop='first_name' в объявлении ngx-datatable-column, чтобы он знал, что нужно отсортировать, вот так.

<ngx-datatable-column
    [width]="50"
    [resizeable]="true"
    [sortable]="true"
    [draggable]="true"
    [canAutoResize]="true" name="Name" prop="first_name">
</ngx-datatable-column>
person Yash Majithiya    schedule 17.01.2018
comment
У меня это не работает. Также почему значение prop в одинарных кавычках вместо двойных кавычек, как все остальное ?! - person emirhosseini; 28.09.2018
comment
ну, цитата здесь не имеет значения. Я могу проверить проблему, если вы поделитесь кодом. @emirhosseini - person Yash Majithiya; 28.09.2018
comment
Объяснение заключается в том, что по умолчанию значение prop будет версией name в верблюжьем кейсе (см. Документацию swimlane.gitbook.io/ngx-datatable/api/column/inputs#prop-string), но вы используете имя snakecase. - person seza443; 03.01.2019
comment
Можем ли мы создать собственную сортировку для самого столбца? - person Vishnu S Babu; 23.04.2020
comment
@VishnuSBabu Да, мы можем создать настраиваемую сортировку для самого столбца. Нам нужно будет использовать свойство компаратора с ngx-datatable-column. - person Niraj Tathe; 16.04.2021