【问题标题】:R Shiny: Mouse Hover Text for Datatable RowsR Shiny:数据表行的鼠标悬停文本
【发布时间】:2019-06-08 03:09:35
【问题描述】:

有没有办法在数据表显示中将鼠标悬停在一行(记录)上时显示鼠标悬停文本?在通过 StackOverflow 上的一些类似问题后,我找到了 2 个示例代码,一个显示列单元格的悬停文本,另一个在鼠标悬停时突出显示整行。

显示列单元格悬停文本的示例代码:

library(shiny)
library(DT)

shinyApp(
  ui = fluidPage(

    DT::dataTableOutput("table2")

  ),
  server = function(input, output) {

    output$table2<-DT::renderDataTable({
      responseDataFilter2_home<-iris[,c(4,3,1)]
      displayableData<-DT::datatable(responseDataFilter2_home,options = list(rowCallback = JS(
        "function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {",
        "var full_text = aData[1] + ','+ aData[2]",
        "$('td:eq(1)', nRow).attr('title', full_text);",
        "}")
      ))#, stringAsFactors = FALSe, row.names = NULL)
    },server = TRUE, selection = 'single', escape=FALSE,options=list(paging=FALSE,searching = FALSE,ordering=FALSE,scrollY = 400,scrollCollapse=TRUE,
                          columnDefs = list(list(width = '800%', targets = c(1)))),rownames=FALSE,colnames="Name")

    }
 )

我还发现了另一个在悬停时突出显示整行的代码:

鼠标悬停时突出显示行的示例代码

#rm(list = ls())
library(shiny)
library(DT)

ui <- basicPage(
  tags$style(HTML('table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {background-color: pink !important;}')),
  mainPanel(DT::dataTableOutput('mytable'))
)

server <- function(input, output,session) {

  output$mytable = DT::renderDataTable(    
    datatable(mtcars)
  ) 
}
runApp(list(ui = ui, server = server))

就我而言,我希望在鼠标悬停在数据表的一行上时显示文本。我该怎么做?

【问题讨论】:

    标签: javascript r shiny hover dt


    【解决方案1】:

    给你:

    library(shiny)
    library(DT)
    
    shinyApp(
        ui = fluidPage(
            DT::dataTableOutput("table")
        ),
        server = function(input, output) {
    
            output$table <- DT::renderDataTable({
                DT::datatable(iris, rownames = FALSE,
                              options = list(rowCallback = JS(
                "function(row, data) {",
                "var full_text = 'This rows values are :' + data[0] + ',' + data[1] + '...'",
                "$('td', row).attr('title', full_text);",
                "}")))
            })
        }
    )
    

    【讨论】:

    猜你喜欢
    • 2015-09-16
    • 1970-01-01
    • 2011-08-04
    • 2018-09-03
    • 2016-03-14
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多