在用于货币格式化程序的Jqgrid中,只有数千个分隔符可用,但我想要lakhsSeparator
colModel: [
{name: 'Code', index: 'Code', width: 55, editable: true, sortable: true },
{ name: 'Ammount', index: 'Ammount', width: 100, editable: true, sortable: false, formatter: 'currency', formatoptions: { prefix: '($', suffix: ')', thousandsSeparator: ','} },
],
在这里,我需要lakhsSeparator来代替MillenniumSeparator。
最佳答案
我觉得这个问题很有趣。我建议不要实现Globalize插件。 Here和here您可以找到有关它的其他信息。
用法很简单。应该定义使用Globalize.format
的custom formatter和使用Globalize.parseFloat
函数的unformatter。例如
formatter: function (v) {
// uses "c" for currency formatter and "n" for numbers
return Globalize.format(Number(v), "c");
},
unformat: function (v) {
return Globalize.parseFloat(v);
}
为了更加舒适,我建议定义
numberTemplate
和currencyTemplate
例如var numberTemplate = {align: 'right', sorttype: 'number', editable: true,
searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge', 'nu', 'nn', 'in', 'ni']},
formatter: function (v) {
return Globalize.format(Number(v), "n");
},
unformat: function (v) {
return Globalize.parseFloat(v);
}},
currencyTemplate = {align: 'right', sorttype: 'number', editable: true,
searchoptions: { sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge', 'nu', 'nn', 'in', 'ni']},
formatter: function (v) {
return Globalize.format(Number(v), "c");
},
unformat: function (v) {
return Globalize.parseFloat(v);
}};
并在
colModel
中使用{ name: 'amount', index: 'amount', width: 150, template: currencyTemplate },
{ name: 'age', index: 'age', width: 52, template: numberTemplate },
The demo使用“ en-IN”语言环境并显示结果,如下图所示