我想要一个数据表(及其所有排名、搜索和页面功能),它不会完全延伸到整个页面,并导致每列中有大量空白...
...理想情况下,列宽类似于“wrap”样式renderTable
...
我知道我可以修复相对列宽,但是,我的表将根据所选输入动态更新不同数量的列。我希望其他列扩展到右侧的空白区域,然后在它变得比浏览器窗口宽度宽时触发水平滚动条。
上图中表格的可重复示例...
library(shiny)
runApp(list(
ui = navbarPage(
title = 'Tables',
tabPanel('dataTableOutput', dataTableOutput('ex1')),
tabPanel('tableOutput', tableOutput('ex2'))
),
server = function(input, output) {
output$ex1 <- renderDataTable(iris)
output$ex2 <- renderTable(iris)
}
))
我认为你应该使用drawCallback
在数据表中。这里我只是稍微改变了你的例子,将 dataTable 的宽度固定为 600px。你可以在回调函数中使用可能的java脚本函数来做几乎任何事情。
library(shiny)
runApp(list(
ui = navbarPage(
title = 'Tables',
tabPanel('dataTableOutput', dataTableOutput('ex1')),
tabPanel('tableOutput', tableOutput('ex2'))
),
server = function(input, output) {
output$ex1 <- renderDataTable( iris,
option = list( drawCallback = I("function( settings ) {document.getElementById('ex1').style.width = '600px';}")) )
output$ex2 <- renderTable(iris)
}
))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)