如何使用数据表中包含 $ 符号的数据将列类型设置为整数
How to set column type to integer with the data containing $ symbol in datatables
我有一个用户网格,其中一列包含到期总计。我将“$”符号附加到行中的每个到期值。现在数据 table 将此列视为字符串并将其排序为字符串。如何将字符串类型转换为整数类型
值如下:
Due
---
.00
[=10=].00
[=10=].00
2.99
[=10=].00
0.00
[=10=].00
.60
当我点击排序按钮时,它正在排序
Due
---
[=11=].00
[=11=].00
[=11=].00
[=11=].00
[=11=].00
0.00
.60
.00
2.99
我想要如下结果
Due
---
[=12=].00
[=12=].00
[=12=].00
[=12=].00
[=12=].00
.60
.00
0.00
2.99
发生这种情况是因为“$”符号。但我需要那个符号在那里。我在这里看到了一些文档 https://datatables.net/reference/option/columns.type ,但这对我没有帮助。
我建议您使用 currency sorting plugin,一个非常小的插件 :
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"currency-pre": function ( a ) {
a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
return parseFloat( a );
},
"currency-asc": function ( a, b ) {
return a - b;
},
"currency-desc": function ( a, b ) {
return b - a;
}
});
包含该代码,或通过 CDN 引用它,并在 columnDefs 中将您的列指定为货币类型:
columnDefs: [
{ type: 'currency', targets: 0 }
]
其中targets
是列索引; targets
也可以是列索引数组,如 [3, 8, 12]
.
使用上面的值进行演示(通过 CDN 使用货币插件)-> http://jsfiddle.net/3tdcje7y/
我有一个用户网格,其中一列包含到期总计。我将“$”符号附加到行中的每个到期值。现在数据 table 将此列视为字符串并将其排序为字符串。如何将字符串类型转换为整数类型
值如下:
Due
---
.00
[=10=].00
[=10=].00
2.99
[=10=].00
0.00
[=10=].00
.60
当我点击排序按钮时,它正在排序
Due
---
[=11=].00
[=11=].00
[=11=].00
[=11=].00
[=11=].00
0.00
.60
.00
2.99
我想要如下结果
Due
---
[=12=].00
[=12=].00
[=12=].00
[=12=].00
[=12=].00
.60
.00
0.00
2.99
发生这种情况是因为“$”符号。但我需要那个符号在那里。我在这里看到了一些文档 https://datatables.net/reference/option/columns.type ,但这对我没有帮助。
我建议您使用 currency sorting plugin,一个非常小的插件 :
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"currency-pre": function ( a ) {
a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
return parseFloat( a );
},
"currency-asc": function ( a, b ) {
return a - b;
},
"currency-desc": function ( a, b ) {
return b - a;
}
});
包含该代码,或通过 CDN 引用它,并在 columnDefs 中将您的列指定为货币类型:
columnDefs: [
{ type: 'currency', targets: 0 }
]
其中targets
是列索引; targets
也可以是列索引数组,如 [3, 8, 12]
.
使用上面的值进行演示(通过 CDN 使用货币插件)-> http://jsfiddle.net/3tdcje7y/