当jqGrid单元格中的NaN时为空

时间:2009-11-21 15:29:54

标签: jqgrid cell nan

如何在jqGrid单元格中设置空白而不是NaN?使用格式化程序?有一个例子吗?

3 个答案:

答案 0 :(得分:6)

这真的很老了,但jqGrid文档没有一个简单的答案,当我在寻找相同的答案时,这个问题在Google搜索结果中首先出现。

使用此代码对整数使用预定义格式化程序选项时,我能够显示空白单元格而不是0:

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

defaultValue只是设置为空白。

答案 1 :(得分:1)

我不会重写自定义格式化程序 - 但会覆盖它(或创建一个新格式化程序)!这样,当新版本的jQgrid出现时,您不会覆盖自定义包装器。

例如,我的用户不希望看到值为0,所以我这样做:

$.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);
};

但我也可以称之为:

$.fn.fmatter.currencyNoZero

在你的情况下,我会这样做:

$.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);
};

答案 2 :(得分:0)

在服务器上,在以XML / JSON /之类的方式返回数据之前,请尝试将DBNull值设置为等于空字符串。

或者,如果可以将NULL值显示为0,则可以按以下行修改SQL:

SELECT IsNull(my_amount, 0)