R datatable цвет фона строки с двумя столбцами, отвечающими условиям - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь раскрасить строку в Datatable, когда два столбца соответствуют определенным условиям.Я создал переменную 'dummy' для этого с помощью функции formatStyle, но не хочу, чтобы столбец 'dummy' был виден.

iris %>% 
  mutate(condition = (Sepal.Length < 5.0 | Petal.Length < 3.0) * 1) %>% 
  datatable() %>%
  formatStyle("condition", target = 'row', 
              backgroundColor = styleEqual(c(1, 0), c('red', 'white')))

enter image description here

Я пытался сделать то же самое с использованием javascript, но это не работает (таблица не отображается):

script <- "
function( row, aData ) {
      if ( parseFloat(aData[0]) < 5.0 && parseFloat(aData[2]) < 3.0)
        $('td:eq(x), row).css('background-color', '#FC4A4A');
      else 
        $('td:eq(x), row)css('background-color', '#F2E8E8');
  }
"

iris %>% 
  datatable(options = list(rowCallback = JS(script)))

1 Ответ

0 голосов
/ 11 июня 2018

Благодаря этому я нашел решение:

iris %>% 
  mutate(condition = (Sepal.Length < 5.0 | Petal.Length < 3.0) * 1) %>% 
  datatable(list(columnDefs = list(list(visible = FALSE, targets = c(6))))) %>% #hiding the 6th column
  formatStyle("condition", target = 'row', 
              backgroundColor = styleEqual(c(1, 0), c('red', 'white')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...