2015-10-30 3 views
0

Я хочу форматировать ячейки всех столбцов на основе некоторого диапазона. Итак, я хочу покрасить текст красным или зеленым цветом. Я установил тип данных всех столбцов в «formattedText». И в «Pre-Execution» у меня есть следующая надстройка.Значения ячейки формата компонентов таблицы Pentaho CDE

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 

Когда я добавить этот код в предисполнительных собственности, я получаю ошибку, которая говорит, «Неожиданный Identifier» для Дополнительных параметров собственности.

Любая помощь очень ценится.

ответ

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>"; }}; 
       } 
      } 
    }); 
} 
0

попытаться удалить строки комментариев с которыми я столкнулся с ситуацией, что они до сих пор составляются

+0

Хотя это теоретически может ответить на вопрос, [было бы предпочтительнее] (// meta.stackoverflow.com/q/8259), чтобы включить основные части ответа здесь, и укажите ссылку для справки. – manetsus