Пользовательский формат Jqgrid использует скобку (), если значение negatif - PullRequest
2 голосов
/ 12 марта 2012

Есть ли какое-нибудь решение в Jqgrid , если есть отрицательное число, тогда показать скобку "()"?

ex: show (23), если значение было -23

спасибо

1 Ответ

5 голосов
/ 12 марта 2012

Вы можете использовать пользовательский форматер, чтобы делать то, что вы хотите. Для правильного форматирования чисел или целых чисел вы можете вызвать метод $.fmatter.util.NumberFormat с $.jgrid.formatter.number или $.jgrid.formatter.integer в качестве второго параметра. Пример форметра:

formatter: function (cellvalue, options) {
    var value = parseFloat(cellvalue), retult,
        op = $.extend({}, $.jgrid.formatter.number); // or $.jgrid.formatter.integer

    if(!$.fmatter.isUndefined(options.colModel.formatoptions)) {
        op = $.extend({}, op,options.colModel.formatoptions);
    }
    retult = $.fmatter.util.NumberFormat(Math.abs(value), op);
    return (value >= 0 ? retult : '(' + retult + ')') + ' €';
}

Вы можете дополнительно изменить цвет или другой CSS-стиль отображения отрицательных чисел. Вы можете использовать свойство cellattr для добавления атрибута class или style в ячейки с отрицательными числами:

cellattr: function (rowid, cellvalue) {
    return parseFloat(cellvalue) >= 0 ? '' : ' style="color:red;font-weight:bold;"'
}

Демо демонстрирует настройки. Результаты следующие

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...