

[Handsontable](http://handsontable.com/demo/sorting.html)で`columnSorting:true`にしておくとカラムのヘッダーをクリックした時に昇順ソート、再クリックで降順ソートになりますが、これを最初のクリックを降順、再クリックで昇順のように変更することはできますか？

※追記

初期表示状態でのソート順を下記のように指定できることはわかったのですが、

[code]

    var hot = new Handsontable(document.getElementById('grid'), {
      columnSorting: {
        column: 3,
        sortOrder: false // 降順
      }
    });
    
[/code]

このような指定でもカラムヘッダーをクリックした場合は昇順→降順の動作になります。

ソースをカスタマイズするしかないのでしょうか…


CC BY-SA 3.0
2015-01-05T08:57:43.003
3116
2015-01-05T09:22:28.573
2015-01-05T09:13:34.103
450
450
question
javascript
Handsontableでカラムをクリックした時のデフォルトのソート順を降順にしたい


自己解決しました。

ソースを追っかけてみたところ、API的に設定できる感じではなさそうだったので、ソースをカスタマイズすることで対応しました。

[code]

    this.setSortingColumn = function (col, order) {
      var instance = this;
    
      if (typeof col == 'undefined') {
        delete instance.sortColumn;
        delete instance.sortOrder;
    
        return;
      } else if (instance.sortColumn === col && typeof order == 'undefined') {
        instance.sortOrder = !instance.sortOrder;
      } else {
        // instance.sortOrder = typeof order != 'undefined' ? order : true; // ここを
        instance.sortOrder = typeof order != 'undefined' ? order : false; // falseにする
      }
    
      instance.sortColumn = col;
    };
    
[/code]

Handsontable 0.12.2 8857行目のsetSortingColumnの定義のところです。


CC BY-SA 3.0
2015-01-05T09:22:28.573
3121
2015-01-05T09:22:28.573
450
3116
answer