DT数据表标题超链接

时间:2016-02-16 06:15:31

标签: dt

在Rstudio DT数据表中是否可以在标题参数中添加超链接?我尝试过但尝试过但似乎无法正常工作。我尝试了w3schools小提琴的html标题,我可以得到一个超链接工作在表的标题,但我不知道如何将其转换为DT数据表。我试过通过htmltools ::它来调用它,但我只能将其作为文本呈现,例如:

datatable(tble
,caption =  
htmltools::tags$caption(
style = 'caption-side: top; text-align: left; color:blue; font-size: 12px;',
,htmltools::p('<!DOCTYPE html>
<html><body><a href="http://rstudio.com">RStudio</a></body>
</html>'))
,escape = FALSE

)

1 个答案:

答案 0 :(得分:3)

我知道这有点旧了但是因为我今天遇到了类似的问题,并且找到了答案,我想我会分享。我这样做的方法是使用Shiny的HTML函数正确编码html,这将处理必要的转义。这里可以看到一个例子:

DT::datatable(
  get(input$dataInput),
  caption = htmltools::tags$caption(
    style = 'caption-side: top; text-align: Left;',
    htmltools::withTags(
      div(HTML('Here is a link to <a href="http://rstudio.com">RStudio</a>'))
    )
  )
)

在一个简单的Shiny应用程序中的完整示例:

library(shiny)
library(DT)

data("mtcars")
data("iris")

ui <- fluidPage(
  titlePanel("Example Datatable with Link in Caption"),
  selectInput('dataInput', 'Select a Dataset', 
              c('mtcars', 'iris')),
  DT::dataTableOutput('example1')
)

server <- function(input, output, session){
  output$example1 <- DT::renderDataTable({
    # Output datatable
    DT::datatable(
      get(input$dataInput),
      caption = htmltools::tags$caption(
        style = 'caption-side: top; text-align: Left;',
        htmltools::withTags(
          div(HTML('Here is a link to <a href="http://rstudio.com">RStudio</a>'))
        )
      )
    )
  })
}

shinyApp(ui = ui, server = server)