Pentaho CDE表组件格式单元格值

时间:2015-10-30 12:09:10

标签: pentaho-cde

我想根据某个范围格式化所有列的单元格。所以,我想将文字的颜色设置为红色或绿色。我已将所有列的数据类型设置为" formattedText"。在" Pre-Execution"中,我有以下插件。

function f(){  
    this.setAddInOptions("colType","formattedText",function(cell_data){
        //alert(ExceedingLow);

        var percentage = '';            
        if(cell_data.colIdx == 7) {
            percentage = cell_data.value;
            return {  textFormat: function(v, st) { return "<span style='color:red'>"+v+"</span>"; } };
        }
        /*if(cell_data.colIdx == 7)
        {
            if(cell_data.value === '' || cell_data.value === null)
            {
                this.value = '00000';
            }
        }*/
        /*if(cell_data.colIdx == 7) {
            return {  textFormat: function(v, st) { return "<span style='color:red'>"+v+"</span>"; } };
        }*/

      });   
 }//main function ending

当我在Pre-Execution属性中添加此代码时,出现错误,其中包含&#34; Unexpected Identifier&#34;对于额外选项属性。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

尝试删除评论行 我面临着他们仍然被编译的情况

答案 1 :(得分:0)

解决!下面以粗体显示的代码部分可以解决问题。

这是工作代码:

 function f(){  
    this.setAddInOptions("colType","formattedText",function(cell_data){
        //alert(ExceedingLow);

        var val = cell_data.value;

            if (val.indexOf("/") != -1) 
            {
                    **return {  textFormat: function(v, st) { return st.value; }};**
            }
            else if (val.indexOf("/") == -1) 
            {
                 if((val < ExceedingLow || val > ExceedingHigh)) 
                 {

                    return {  textFormat: function(v, st) { return "<span style='color:red'>"+v+"</span>"; }};
                }
                else 
                {
                    return { textFormat: function(v, st) { return "<span style='color:green'>"+v+"</span>"; }};
                }
            }
    });   
 }