Forum
Topic RSS
Related Topics
14:39
12/09/2011
OfflineI have occasion when it would be helpful to hook into jqGrid's format matter from outside a jqGrid. Using it to format an integer, number, currency, etc. Something like:
var integerOut = $.fn.fmatter("integer", 76543.21);
So integerOut would be equal to '76,543' if in USA after the call.
Can this be done somehow?
What would be the proper calling syntax?
14:08
Moderators
30/10/2007
OfflineHello,
This should work, but there is a bug in the formatter checking for colModel format options.
I will fix this and replay when done.
Thanks.
Best Regards
Tony
For professional UI suites for Java Script and PHP visit us at our commercial products site - guriddo.net - by the very same guys that created jqGrid.
02:48
12/09/2011
OfflineDevised my own solution that allows for formatting integers, numbers and currency using jqGrid's localization configurations:
function isNumeric(number) {
return !isNaN(parseFloat(number)) && isFinite(number);
}
function formatInteger(number) {
return isNumeric(number) ? $.fmatter.util.NumberFormat(Math.floor(number), $.jgrid.formatter.integer) : number;
}
function formatNumber(number) {
return isNumeric(number) ? $.fmatter.util.NumberFormat(number, $.jgrid.formatter.number) : number;
}
function formatCurrency(number) {
return isNumeric(number) ? $.fmatter.util.NumberFormat(number, $.jgrid.formatter.currency) : number;
}
09:35
Moderators
30/10/2007
OfflineHello,
I just fixed the problem.
https://github.com/tonytomov/jqGrid/commit/b919a66806297a8249114c8f555a526ef57bd88f
You can download the source from GitHub and use it. Please let me know if there is a problem.
Regards
For professional UI suites for Java Script and PHP visit us at our commercial products site - guriddo.net - by the very same guys that created jqGrid.
01:26
12/09/2011
OfflineTony,
Thank you that change worked great! I needed the unformat as well so I implemented them as shown below.
Can the unformats be called from $.fn.fmatter somehow as well?
Marv
-------------------------------------------------------------------------------------------------------------------------------------
function isNumeric(number) {
return !isNaN(parseFloat(number)) && isFinite(number);
}
function formatInteger(number) {
return isNumeric(number)
? $.fn.fmatter("integer", number)
: $.jgrid.formatter.integer.defaultValue;
}
function formatNumber(number) {
return isNumeric(number)
? $.fn.fmatter("number", number)
: $.jgrid.formatter.number.defaultValue;
}
function formatCurrency(number) {
return isNumeric(number)
? $.fn.fmatter("currency", number)
: $.jgrid.formatter.currency.defaultValue;
}
function unformatInteger(number) {
var parts = number.split($.jgrid.formatter.number.decimalSeparator);
var out = parseInt(parts[0].replace(/[^0-9-]/g, ''));
return isNumeric(out) ? out : 0;
}
function unformatNumber(number) {
var op = $.jgrid.formatter.number;
var re = /([.*_'(){}+?\])/g;
var sep = op.thousandsSeparator.replace(re, "\$1");
var stripTag = new RegExp(sep, "g");
var out = number.replace(stripTag, "").replace(op.decimalSeparator, '.');
return isNumeric(out) ? out : 0.0;
}
function unformatCurrency(ret) {
var op = $.jgrid.formatter.currency;
var re = /([.*_'(){}+?\])/g;
var sep = op.thousandsSeparator.replace(re, "\$1");
var stripTag = new RegExp(sep, "g");
if (op.prefix && op.prefix.length && ret.indexOf(op.prefix) > -1) {
ret = ret.substr(op.prefix.length);
}
if (op.suffix && op.suffix.length && ret.indexOf(op.suffix) > -1) {
ret = ret.substr(0, ret.length - op.suffix.length);
}
ret = ret.replace(stripTag, '').replace(op.decimalSeparator, '.');
return isNumeric(ret) ? ret : 0.0;
}
Most Users Ever Online: 816
Currently Online:
45 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66
Log In
Home