Как отформатировать ячейку на основе значения другой ячейки, используя rhandsontable - PullRequest
0 голосов
/ 22 января 2019

Я новичок в пакете rhandsontable и пытаюсь выделить ячейку на основе значения в другой ячейке. Я хочу выделить значения в столбце 'gear' в наборе данных mtcars, когда mpg == 21.У меня нет Понять, как это сделать. Спасибо за помощь в rhandsontable

rhandsontable(mtcars, readOnly = TRUE, width = 750, height = 
300)%>%hot_cols(renderer = "
             function (instance, td, row, col       , prop, value, 
cellProperties) {
             Handsontable.renderers.NumericRenderer.apply(this, arguments);
var col_value = instance.getData()[XXXXXXXXXXX][XXXXXXXXX]
             if (col_value ==21) {
             td.style.background = 'pink';
             }else if (col_value !=21) {
  td.style.background = 'green';
  }
             }")

Я не уверен, как написать приведенный выше код для достижения моего результата

1 Ответ

0 голосов
/ 30 января 2019

Следующий код выполняет работу:

library(rhandsontable)

ui <- fluidPage(
  rHandsontableOutput('hot')
)

server <- function(input, output, session) {
  output$hot <- renderRHandsontable({
    rhandsontable(mtcars, readOnly = TRUE, width = 750, height = 300) %>%
    hot_cols(renderer = myrenderer)
  })

  myrenderer <- "function (instance, td, row, col, prop, value, cellProperties) {

  Handsontable.renderers.TextRenderer.apply(this, arguments);

  if (col == 9 && instance.getData()[row][0] == 21 ) {  
    td.style.background = 'pink';
  }
  }"
}

shinyApp(ui = ui, server = server)
...