Formatting 格式化ExtJS网格列

Formatting 格式化ExtJS网格列,formatting,extjs4.1,extjs-grid,Formatting,Extjs4.1,Extjs Grid,我知道我可以使用类格式化ExtJs网格的列。 我想知道如何应用以下格式类型: 显示数字的百分比符号,但不乘以100。因此,如果该值为10.34,则应显示为10.34%,现在为1034% 如果数字为负数,则应在红色insde括号中显示。so-23应以红色显示为(23) 谢谢您可以很容易地为列实现一个函数,并根据需要转换结果。您所要做的就是从渲染器返回转换后的字符串;此外,您还可以访问网格行(以及存储区)的完整Ext.data.Record,因此,如果需要,您还可以根据记录中的其他数据轻松进行自定义

我知道我可以使用类格式化ExtJs网格的列。 我想知道如何应用以下格式类型:

  • 显示数字的百分比符号,但不乘以100。因此,如果该值为10.34,则应显示为10.34%,现在为1034%
  • 如果数字为负数,则应在红色insde括号中显示。so-23应以红色显示为(23)

  • 谢谢

    您可以很容易地为列实现一个函数,并根据需要转换结果。您所要做的就是从渲染器返回转换后的字符串;此外,您还可以访问网格行(以及存储区)的完整
    Ext.data.Record
    ,因此,如果需要,您还可以根据记录中的其他数据轻松进行自定义渲染。

    是的,您可以通过
    渲染器
    概念实现,请参考下面的示例以了解您的查询

      {
           text     : 'Number (Percentage)',
           width    : 80,
           sortable : true,
           renderer :  function(val) {
               if (val > 0) {
                  return '<span style="color:green;">' + val + '</span>';
               } else if (val < 0) {
                  return '<span style="color:red;">' + val + '</span>';
               }
               return val+"%";
           },
           dataIndex: 'numberChange' // place your dataindex binding here
        }
    
    {
    文本:“数量(百分比)”,
    宽度:80,
    可排序:是的,
    渲染器:函数(val){
    如果(val>0){
    返回“+val+”;
    }else if(val<0){
    返回“+val+”;
    }
    返回val+“%”;
    },
    dataIndex:'numberChange'//将dataIndex绑定放在此处
    }
    

    谢谢,希望这能帮助您……

    我想了解更多细节:

    • 是否要将两种渲染应用于单个柱
    • 您能否提供一个您已经尝试过的简明代码示例(绑定到网格面板的存储/模型、为存储提供的原始数据、列配置)
    无论如何,我可以试试(你应该先试试)

    渲染器1:

    renderer: function (value) {
        return value + '%';
    }
    
    渲染器2:

    renderer: function (value) {
        return value < 0 
            ? '<span style="color:red">(' + Math.abs(value) + ')</span>' 
            : value;
    }
    
    渲染器:函数(值){
    返回值<0
    “(“+数学abs(值)+”)”
    :价值;
    }
    
    弗兰肯斯坦怪兽:

    renderer: function (value) {
        return value < 0 
            ? '<span style="color:red">(' + Math.abs(value) + '%)</span>' 
            : value + '%';
    }
    
    渲染器:函数(值){
    返回值<0
    ?'('+数学绝对值(值)+'%)'
    :值+'%';
    }