Дорогие Rhandsontable гуру,
в моем приложении r Shiny В настоящее время у меня есть Rhandsontable с 9 столбцами, который ведет себя так: если последний столбец таблицы («Комментарии») содержит строку «пропущено», то эта строка получает желтый фон (td.style.background = 'yellow').
Вопрос: Кроме того, я хочу, чтобы любая строка была выделена зеленым фоном, если последний столбец ('Комментарии') содержит строку ' прочее »(см. закомментированный код для row_highlight2).
Обратите внимание, что в последнем столбце никогда не будет строк: «пропущено» и «прочее».
Я не знаю, как добавить второе условие. Большое спасибо за вашу помощь!
output$session_table <- renderRHandsontable({
req(input$select_a_person)
person_nr <- which(person_names_reactive$names %in% input$select_a_person)
row_highlight = which(grepl("[M|m][I|i][S|s]|[S|s][E|e][D|d]",
sessions_reactive$sessions[[person_nr]]$Comments)) - 1
# row_highlight2 = which(grepl("[V|v][S|s][E|e]|[E|e]",
# sessions_reactive$sessions[[person_nr]]$Comments)) - 1
col_highlight = c(5, 8) - 1
rhandsontable(
sessions_reactive$sessions[[person_nr]],
row_highlight = row_highlight, col_highlight = col_highlight,
width = 1000, height = 500) %>%
hot_rows(fixedRowsTop = 1) %>%
hot_col("P. Owes", format = "$0,000.00", language = "en-US") %>%
hot_col("I. Owes", format = "$0,000.00", language = "en-US") %>%
hot_table(highlightCol = TRUE, highlightRow = TRUE) %>%
hot_validate_numeric(cols = c(3, 5), min = 0, max = 500) %>%
hot_col(c(1, 3, 5, 6, 8), valign = 'htCenter') %>%
hot_cols(renderer = "
function (instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.NumericRenderer.apply(this, arguments);
if (instance.params) {
hrows = instance.params.row_highlight
hrows = hrows instanceof Array ? hrows : [hrows]
hcols = instance.params.col_highlight
hcols = hcols instanceof Array ? hcols : [hcols]
if (hrows.includes(row)) {
td.style.background = 'yellow'
}
if (hcols.includes(col)) {
td.style.fontWeight = 'bold'
td.style.color = '#fc0f03'
}
}
}")
})