Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Blank when NaN in jqGrid cells

Tags:

nan

cell

jqgrid

How to set blank instead of NaN in jqGrid cells ? Using formatter ? Is there an example?

like image 202
raouf Avatar asked Nov 21 '09 15:11

raouf


2 Answers

This is REALLY old but the jqGrid documentation didn't have an easy answer and this question pulls up first in Google results when I was looking for the same answer.

I was able to display a blank cell instead of a 0 when using the predefined formatter option for an integer using this code:

{ name: 'Quantity', formatter: 'integer', formatoptions: { defaultValue: ''} }

The defaultValue is just set to blank.

like image 110
Chris Avatar answered Sep 20 '22 23:09

Chris


I would not rewrite the custom formatter -- but override it (or make a new one)! That way, when a new version of jQgrid comes out, you don't overwrite your custom wrapper.

For example, my users don't want to see the value if it is 0, so I do this:

$.fn.fmatter.currency = function (cellval, opts) {
    if (cellval == 0) {
        return '';
    }
    var op = $.extend({},opts.currency);
    if(!isUndefined(opts.colModel.formatoptions)) {
        op = $.extend({},op,opts.colModel.formatoptions);
    }
    if(isEmpty(cellval)) {
        return op.defaultValue;
    }
    return $.fmatter.util.NumberFormat(cellval,op);
};

But I could also call it:

$.fn.fmatter.currencyNoZero

In your case, I would do this:

$.fn.fmatter.currency = function (cellval, opts) {
    if (cellval == null) {
        return '';
    }
    var op = $.extend({},opts.currency);
    if(!isUndefined(opts.colModel.formatoptions)) {
        op = $.extend({},op,opts.colModel.formatoptions);
    }
    if(isEmpty(cellval)) {
        return op.defaultValue;
    }
    return $.fmatter.util.NumberFormat(cellval,op);
};
like image 43
Stephen Fuhry Avatar answered Sep 19 '22 23:09

Stephen Fuhry