私のウェブサイトのテーブルを構築するために、私は「反応し、ブートストラップ・テーブルの次」を使用しています反応します。数字は英語の形式で整数または浮動小数点の場合は、このライブラリで、私は何の問題もなくdinamicallyと注文テーブルを構築することができます。
私はスペイン語の形式の浮動小数点数と列でテーブルを注文しようとした場合でも、ソートが正しくありません。JavaScriptでフロート番号の形式が英語形式であるため、これはので、私は、文字列で浮動小数点数を変換する必要がありますし、私の変更画面上でこれらの値を表示するには、発生しました「」"" あたり。
スペインでは、我々は、ドットで昏睡ないと小数部を分けます。例えば、12.95(英語フォーマット)=== 12,95(スペイン語フォーマット)
私はあなたが並べ替え、次の画像で見ることができるよう、下げるために高いからDRE列でテーブルをソートしようとするので、正しくありません。データがあるので、実際に文字列やないため、私は彼らと一緒に作っに持って変更に番号をフロート。
そのため、スペイン語の形式で数値をfloat型に英語形式の浮動小数点数を変換する方法はありますか?または別の1の値に依存列を注文する方法はありますか?例えば、私は、テーブルに同じ列が、二回を追加することができます。スペイン語の形式で英語のフォーマットおよびその他に一度。英語形式の列が表示されないだろうが、スペイン語の形式の列があろう。そして、この列は英語の形式で列に依存ソートされます。
それをする方法はありますか?または任意の他の代替?
編集I:
@Uby Iの高く評価助けのおかげで、テーブルを並べ替えるが、常にうまくソートを行うことはできません。
私のソート機能は次のとおりです。
sortFunc: (a, b, order) => {
if (order === 'asc') {
return parseFloat(a) - parseFloat(b);
}
return parseFloat(b) - parseFloat(a); // desc
},
S:しかし、高いからテーブルをソートすることはない、常にソートが正しいかそれ以上に下げるか下げて
私は何かを間違っているのでしょうか?私はそれが起こるかを理解していません。
あなたは定義することができ、カスタムソート関数あなたはフロートを自分で解析して、このような列の定義に追加します。
{
// omitted...
sort: true,
sortFunc: (a, b, order, dataField, rowA, rowB) => {
let fA = parseFloat(a.replace(',','.'));
let fB = parseFloat(b.replace(',','.'));
if (order === 'asc') {
return fB - fA;
}
return fA - fB; // desc
}