当用户将鼠标悬停在数据表单元格上时,如何将鼠标悬停图标更改为指针(手)。我有4列在一个datatable和第4列行细胞是显示工具提示鼠标。我需要改变光标图标指针时,工具提示显示。我认为这可以通过dt包选项和JS来实现,但到目前为止还没有成功,任何提示都可以在R Shiny UI中实现相同的功能。
5vf7fwbs1#
使用CSS Script配合DT Package的rowCallback功能实现。下面是iris datatable的代码:
library(shiny) library(DT) shinyApp( ui = fluidPage( DT::dataTableOutput("irisTable") ), server = function(input, output) { output$irisTable <- DT::renderDataTable({ DT::datatable(datasets::iris, options = list(rowCallback = JS( "function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {", "var full_text = aData[1] + ','+ aData[2] + ',' + aData[3] + ','+ aData[4];", "$('td:eq(5)', nRow).attr('title', full_text);", # Tool Tip "$('td:eq(5)', nRow).css('cursor', 'pointer');", # Cursor icon changes to hand (pointer) on Hover "}") ) ) }) } )
6jygbczu2#
如果其他任何人正在努力在datatable单元格上显示指针,您可以通过将参数cursor ='pointer'传递到格式化函数DT::formatStyle()中,然后调用input${output_table}_cell_clicked来模拟Shiny DT中的超链接行为。工作示例如下:
library(magrittr) library(shiny) library(DT) shinyApp( ui = fluidPage( DT::dataTableOutput("irisTable") ), server = function(input, output) { output$irisTable <- DT::renderDT({ DT::datatable(iris, selection = 'none') %>% DT::formatStyle(., which('Sepal.Width' %in% names(iris))+1 , color = 'blue', cursor='pointer') }) shiny::observeEvent(input$irisTable_cell_clicked, { print(input$irisTable_cell_clicked) }) } )
2条答案
按热度按时间5vf7fwbs1#
使用CSS Script配合DT Package的rowCallback功能实现。下面是iris datatable的代码:
6jygbczu2#
如果其他任何人正在努力在datatable单元格上显示指针,您可以通过将参数cursor ='pointer'传递到格式化函数DT::formatStyle()中,然后调用input${output_table}_cell_clicked来模拟Shiny DT中的超链接行为。工作示例如下: