SamGhatak
SamGhatak

Reputation: 1493

Ext js 5.0.1 column custom sorting

I am new to extjs framework and looking for a way to add a custom sorting function to a column in a panel. I went through some of the post, and it seems that this functionality has been changed a few times over time.

In 5.0.1 documentation I found sortType configuration that can be used to convert the data to a comparable value.

But in my case, converting all the data to a value and then sorting could be a time consuming process and I was looking to use a function like the one used in doSort configuration earlier similar to this example; by basically configuring a function like this:

function customSorter(state){
    var ds = this.up('grid').getStore();
    var field = this.getSortParam();
    ds.sort({
        property: field,
        direction: state,
        sorterFn: function(v1,v2){
             //some custom logic
        }
    });
}

EDIT 1: I am looking to use this function for only one column, the other columns are standard data types and sorting works fine by default for those.

Any ideas how to do this in 5.0.1?

Thanks in advance..

Upvotes: 0

Views: 1230

Answers (1)

Christophe Le Besnerais
Christophe Le Besnerais

Reputation: 4683

You can pass an array of Ext.util.Sorter to the sort method of your store. The Ext.util.Sorter class has an sorterFn config.

references:

https://docs.sencha.com/extjs/5.0.1/api/Ext.util.Sorter.html https://docs.sencha.com/extjs/5.0.1/api/Ext.data.Store.html#method-sort

If you want to have a custom sort for a specific colum you can use the sortType config on the field corresponding to the column, see https://docs.sencha.com/extjs/5.0.1/api/Ext.data.field.Field.html#cfg-sortType

Upvotes: 1

Related Questions