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 に答える