6

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

4

3 回答 3

6

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

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

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

defaultValue只是设置为空白。

于 2012-05-18T20:21:05.190 回答
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);
};
于 2009-12-08T14:05:56.467 回答
0

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

或者,如果可以接受将 NULL 值显示为 0,您可以按照以下方式修改 SQL:

SELECT IsNull(my_amount, 0)
于 2009-11-22T16:15:49.793 回答