如果有负数,Jqgrid有什么解决办法,然后显示括号“()”
吗?
ex: show (23) if value was -23
谢谢
最佳答案
您可以使用自定义格式化程序来执行您想要的操作。要正确格式化数字或整数,您可以使用 $.jgrid.formatter.number
或 $.jgrid.formatter.integer 调用
作为第二个参数。格式器的例子是$.fmatter.util.NumberFormat
方法
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;"'
}
The demo演示设置。结果如下
关于php - Jqgrid自定义格式如果为负值则使用括号(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663167/