R: проблема с выделением строки в datatable - PullRequest
0 голосов
/ 20 сентября 2018

Я недавно научился flexdashboard создавать инструментальные панели.Я пытаюсь установить конкретную строку на bold, но она не будет работать должным образом, если я установлю rownames на False.Вот пример:

# This example sets the 3rd row to bold
df <- data.frame(
a = runif(3),
b = runif(3),
c = runif(3))
library(DT)
df %>%
  datatable(rownames = T,
            options = list(pageLength = 3,
                         searching = F,
                         lengthChange = F,
                         info = F,
                         paging = F,
                         ordering = F,
                         columnDefs = list(list(className = 'dt-center', targets = 0:3)))) %>% 
  formatStyle(
  0,
  target = "row",
  fontWeight = styleEqual(3, "bold"))

Приведенный выше пример не будет работать, если rownames = F.Я не хочу, чтобы показывали rownames.В чем причина и как мне это исправить?

1 Ответ

0 голосов
/ 20 сентября 2018

Отключение имен строк удаляет индекс, на который вы ссылаетесь, чтобы выделить строку.Поэтому нам нужно создать наше собственное:

df$index <- seq(1,3)

Затем мы создаем datatable и скрываем df$index, используя list(visible = FALSE, targets = c(3)) в columnDefs

df %>%
  datatable(rownames = F,
            options = list(pageLength = 3,
                         searching = F,
                         lengthChange = F,
                         info = F,
                         paging = F,
                         columnDefs = list(list(className = 'dt-center', targets = 0:2), list(visible=FALSE, targets = c(3))))) %>% 
  formatStyle('index',
  target = "row",
  # this says 'style rows bold where index == 3'
  fontWeight = styleEqual(3, "bold"))
...