【问题标题】:Jqgrid custom format use bracket() if negatif valueJqgrid自定义格式如果为负值则使用bracket()
【发布时间】:2012-03-12 07:28:01
【问题描述】:

Jqgrid中是否有任何解决方案,如果有负数则显示括号"()"

例如:如果值为 -23,则显示 (23)

谢谢

【问题讨论】:

  • 请详细说明您的问题。
  • colNames:['Name','value'], colModel :[ {name:'NAME', index:'NAME', width:20}, {name:'VALUE', index:'VALUE', width:15,align:'right',formatter: 'number',summaryType:'sum'},我只是想在括号中显示负数

标签: php javascript jqgrid


【解决方案1】:

您可以使用自定义格式化程序来做您想做的事。要正确格式化数字或整数,您可以使用 $.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 属性在带有负数的单元格中添加classstyle 属性:

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

The demo 演示设置。结果如下

【讨论】:

  • 改变负数格式后。有什么办法可以将 jqgrid 中的该列求和以在同一个网格页脚中分配?因为根据您的代码编号将转换为字符串。所以 $grid.jqGrid('getCol', 'columnname', false, 'sum') 将返回 (nan)。
猜你喜欢
  • 1970-01-01
  • 2019-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
  • 2013-05-17
  • 1970-01-01
  • 2011-08-28
相关资源
最近更新 更多