2016-09-22 5 views
2

カスタムあなたがアルゴリズムの中から列にアクセスするにはどうすればよいGithubUI-Gridui-gridカスタムソートアルゴリズムの中から現在の列(フィールド)名を取得しますか?

のような列のソート定義したら?

var myAwesomeSortFn = function(a,b, rowA, rowB, direction){ 

     // "Need to access the name (field) of column being sorted here"; 
     var column = "No Idea" 

     console.log("sorting by column " + column); 

     if (a == b) return 0; 
     if (a < b) return -1; 
     if (a > b) return 1; 


    }; 
+0

あなたはあなたがコードを投稿することができます'myAwesomeSortFn'を呼び出しますか? –

+0

上記Githubのリンクを参照してください。 – MishaT

答えて

1

あなたが次のことを試みることができる...

{ field: 'lastName', displayName: 'Last Name', sortingAlgorithm: MyService.getSortingAlgorithm('lastName') }, 

(ご希望の場合は、あなたの範囲内)次にサービスで定義

getSortingAlgorithm: function (columnName) { 
    return function(a, b, rowA, rowB, direction) { 
     console.log("sorting by column " + columnName); 

     if (a == b) return 0; 
     if (a < b) return -1; 
     if (a > b) return 1; 
    }; 
} 
+0

これは私が現在やっていることですが、動作しますが、40以上のカラムがあるときには多くの時間がかかり、フィールドが変更されたときのメンテナビリティコストもかかります。 – MishaT

+0

これは、ui-gridを変更せずにそれを行う唯一の方法であると思われるので、これを受け入れたものとしてマークします。これにより、列を公開することになりました。 – MishaT

関連する問題