反复在闪亮的renderTable中突出显示一行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反复在闪亮的renderTable中突出显示一行相关的知识,希望对你有一定的参考价值。

对于有光泽的应用程序,我想逐行浏览数据框并突出显示(粗体,彩色或类似)renderTable中的所选行。我当时正在考虑按索引选择行。我可以使用renderTable还是我应该考虑DT

library(shiny)

ui <- 
  fluidRow(
    actionButton(
      "my_button",
      "Go to next row"
    ),
    tableOutput("my_table")
  )

server <- function(input, output){

  values <- reactiveValues()
  values$index <- 1
  values$dat <- iris

  observeEvent(
    input$my_button, {
      values$index <- values$index + 1
  })

  output$my_table <- 
    renderTable(values$dat) # somehow highlight the row at the index
}

shinyApp(ui = ui, server = server)
答案

这可能会让您入门。

library(shiny)
library(DT)
library(dplyr)

ui <- 
  fluidRow(
    actionButton(
      "my_button",
      "Go to next row"
    ),
    dataTableOutput("my_table")
  )

server <- function(input, output){

  values <- reactiveValues()
  values$index <- 1
  values$dat <- iris

  observeEvent(
    input$my_button, {
      values$index <- values$index + 1
    })

  output$my_table <- 
    renderDataTable({
      values$dat %>%
        mutate(row = row_number()) %>%
        datatable() %>% 
        formatStyle(
          "row",
          target = 'row',
          backgroundColor = styleEqual(values$index, c('yellow'))
      )
    }) # somehow highlight the row at the index
}

shinyApp(ui = ui, server = server)

以上是关于反复在闪亮的renderTable中突出显示一行的主要内容,如果未能解决你的问题,请参考以下文章

基于正则表达式在闪亮的 DT 中突出显示单词

闪亮 - 在数据表中选择记录时如何突出显示传单地图上的对象?

如何在闪亮的应用程序中制作kable table reactive()?闪亮+ kable

闪亮的应用程序不更新隐藏的滑块

没有拉伸的闪亮应用程序的 renderDataTable 中的列宽

在 DT 表中的一行中嵌入闪亮的小部件