11

Though i'm very much new to angular, i'm facing some difficulties using ngx-DataTable. I am using simple ngx-DataTable for simple operations. The problem is on a column, sort is not working though i've declared attr as [sortable]=true. Here's code. Table Definition:

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

DataTable Contains two columns and Definitions are as as follows.

    <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>

I just want to make my name column sortable. Please help me guys. Thanks in advance.

3
  • It is rendered correct the table ? Commented Jan 17, 2018 at 10:53
  • You can create your sort function Commented Jan 17, 2018 at 10:54
  • Rendering correctly. @MihaiAlexandru-Ionut. i've some other pages too in which, it is working completly. But not in this. I dont know why.. Commented Jan 17, 2018 at 11:03

1 Answer 1

28

Well it solved. Actually it can't find the values where it can make column sort. so i just written prop='first_name' in ngx-datatable-column declaration to let it know what is being to sort, like this.

<ngx-datatable-column
    [width]="50"
    [resizeable]="true"
    [sortable]="true"
    [draggable]="true"
    [canAutoResize]="true" name="Name" prop="first_name">
</ngx-datatable-column>
Sign up to request clarification or add additional context in comments.

5 Comments

This doesn't work for me. Also why is the value of prop in single quotes instead of double quotes like everything else?!
well quote doesn't matters in this. I can check the issue if you share the code. @emirhosseini
The explanation is that, by default, the prop value will be the camelcase version of the name (see the documentation swimlane.gitbook.io/ngx-datatable/api/column/inputs#prop-string) but you are using a snakecase name.
Can we create a custom sort for a particular column itself?
@VishnuSBabu Yes, we can create custom sorting on column itself. We will have to use comparator property with ngx-datatable-column.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.