Jqgrid custom format use bracket() if negatif value
Asked Answered
N

1

2

Is any solution in Jqgrid if there is negative number then show bracket "()" ?

ex: show (23) if value was -23

thanks

Nonpartisan answered 12/3, 2012 at 7:28 Comment(2)
Please give some more detail about your issue.Luteolin
colNames:['Name','value'], colModel :[ {name:'NAME', index:'NAME', width:20}, {name:'VALUE', index:'VALUE', width:15,align:'right',formatter: 'number',summaryType:'sum'}, Ijust wan to display negatif number in bracketNonpartisan
A
5

You can use custom formatter to do what you want. To format numbers or integers correctly you can call $.fmatter.util.NumberFormat method with $.jgrid.formatter.number or $.jgrid.formatter.integer as the second parameter. The example of the formetter is

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 + ')') + ' €';
}

you can additionally change color or some other CSS style of displaying of the negative numbers. You can use cellattr property to add class or style attribute in the cells with negative numbers:

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

The demo demonstrate the settings. The results are the following

enter image description here

Astroid answered 12/3, 2012 at 9:23 Comment(1)
After change format of negative number . Is there any way is there to SUM that column in jqgrid to assign in same grid footer ? Because as per your code number will convert into string. So $grid.jqGrid('getCol', 'columnname', false, 'sum') will return (nan).Jessen

© 2022 - 2024 — McMap. All rights reserved.