フォーマットされた価格を価格列に表示するという、かなり一般的な使用例があります。「20,000.00」。したがって、並べ替えようとすると、文字列として扱われ、うまく並べ替えられません。
- 10.00
- 20,000.00
- 5,000.00
フォーマットされていない浮動小数点数である data- パラメータ値でソートするようにすることはできますか?
この質問に関連して、特定の列の並べ替えを無効にするにはどうすればよいですか? 私は DataTables 1.9.4 を使用しています。
フォーマットされた価格を価格列に表示するという、かなり一般的な使用例があります。「20,000.00」。したがって、並べ替えようとすると、文字列として扱われ、うまく並べ替えられません。
フォーマットされていない浮動小数点数である data- パラメータ値でソートするようにすることはできますか?
この質問に関連して、特定の列の並べ替えを無効にするにはどうすればよいですか? 私は DataTables 1.9.4 を使用しています。
最初の質問に答えるには、DataTables プラグイン ページで利用可能な Formatted Numbers プラグインを使用できます。ここにコードを投稿しますが、頻繁に更新されるため、代わりにリンクを投稿します。
http://datatables.net/plug-ins/type-detection
特定の列での並べ替えを無効にするためのオプションがいくつかあります。従来のルートを使用して、init オブジェクトに次のような行を入れることができます...
"aoColumns": [
null,null,null,{ "bSortable": false },null,null
]
null は何もしたくない列で、bSortable オブジェクトは影響を与えたい列です。
1.9以降を実行しているため、次のことができます。
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 4 ] }
],
この例では、4 が並べ替えを無効にする列です。最初の列は 0 であるため、技術的には 5 番目の列になります。
このページhttp://datatables.net/plug-ins/sortingを使用して、追加できるすべての並べ替えタイプを確認してください。数が多くて使いやすいです。基本的に、各タイプの show details セクションの下に表示されるコードを含める必要があります。このコードは、データテーブルが初期化された後に含める必要があります。個人的には、サイト全体で使用するものがかなりあるので、datatables.sorting.js という別のファイルを作成し、datatables を含めた後にそれを含めます。このようにして、さまざまな並べ替えタイプを必要な数だけ追加できます。
コードを追加した後、aoColumns パラメーターを使用して、必要な列にその並べ替え方法を適用するようデータテーブルに指示できます。
$('#myTable').dataTable({
"aoColumns": [
null,
null,
{ "sType": "formatted-num" }
]
});
http://jsfiddle.net/davidstetler/5Z8fZ/
私が行ったように含めることができる、または別のファイルに含めることができる、フォーマットされた数値をソートするためのコードを追加しました。