DT изменить цвет на диагонали

Есть ли способ изменить цвет целевой ячейки в DT? или несколько ячеек по индексу строки и столбца?

Например у меня есть:

library(DT)
set.seed(123)
options(DT.options = list(pageLength = 5))
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))

datatable(df)%>% formatStyle(
'V6',
  backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
) 

Это выглядит так:  введите описание изображения здесь

Я могу изменить цвет строки или ячейки (на основе ячеек в текущей строке)

Но я не могу найти способ изменить цвет на основе индекса столбца и строки, например:

введите описание изображения здесь


person Batanichek    schedule 14.06.2016    source источник


Ответы (1)


Найти может быть не лучшим способом - сгенерировать rowCallback на основе ncol из data.frame

Нравится

datatable(df,options = list(rowCallback=JS(paste("function(row, data,index) {",
                                                 paste(sapply(1:(ncol(df)),function(i) paste("
                                                   var ind_1=",i,";
                                                   $(this.api().cell(row,ind_1).node()).css({'background-color':index +1>ind_1 ? '#CCFFCC' : index+1 < ind_1 ? 'red' : 'yellow'});
                                                   "
                                                 )),collapse = "\n"),"}" )
                                                 )))

Результат

введите описание изображения здесь

person Batanichek    schedule 14.06.2016