我目前正在使用shinyTable
,它是HandsonTable(https://github.com/trestletech/shinyTable)的shiny
兼容实现。巧合的是,我意识到,如果我向渲染的logical
添加data.frame
列,则值将显示为可单击的复选框。我希望使用它来轻松地对表格进行子集化:
library(devtools)
# those versions are necessary to let shinyTable work with shiny
install_github( "shiny", "rstudio", ref="fcf963639e4839e5689665c257e7f488c9c34cc0" )
install_github( "shinyTable", "JackStat" )
library(shiny)
library(shinyTable)
runApp(list(
ui = bootstrapPage(
htable( "tbl", clickId="tblClick", headers="provided")
),
server = function(input, output) {
output$tbl <- renderHtable({
if( is.null( input$tbl ) ){
return( data.frame( select = TRUE, value = 1:10 ) )
} else{
return( input$tbl[ input$tbl$select, ] )
}
})
}
))
但是,取消选中复选框后,我会得到以下结果:
是否有人对shinyTable
有经验并可以给我一个如何避免这种情况的建议?
可替换地:
让我创建子集表的任何其他(对于我的用户舒适的)方法?
答案 0 :(得分:1)
在这种情况下少即是多
library(shiny)
library(shinyTable)
runApp(list(
ui = bootstrapPage(
htable( "tbl", clickId="tblClick", headers="provided", readOnly = 'false')
),
server = function(input, output) {
output$tbl <- renderHtable({
if( is.null( input$tbl ) ){
return( data.frame( select = TRUE, value = 1:10 ) )
}
})
}
))