gpt4 book ai didi

r - 在 Shiny 中使用 data.table 卡住标题和第一列

转载 作者:行者123 更新时间:2023-12-03 21:29:45 36 4
gpt4 key购买 nike

我有一个生成数据表的 Shiny 应用程序,但我无法卡住第一列和标题,因此当您向下或穿过时,表格很难阅读。有没有办法卡住 Pane ?我试过搜索,但一无所获。

最佳答案

有趣的问题,现在感谢 Shiny 最近更新到 data.tables 1.10.2使用各种插件和扩展要容易得多。对于您的问题 FixedHeader扩展似乎很理想。要添加此扩展,我们需要包含相关的 JavaScriptCSS文件(见 http://cdn.datatables.net/):

tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/fixedheader/2.1.2/js/dataTables.fixedHeader.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/fixedheader/2.1.2/css/dataTables.fixedHeader.css',rel='stylesheet',type='text/css')))
)
data.tables有一个选项 initComplete这允许我们在绘制表格后规定回调等。
function(settings, json) {
new $.fn.dataTable.FixedHeader(this, {
left: true,
right: true
} );
}

我们将使用 iris 的修改版本数据集在末尾添加索引和一些随机数据以显示从左到右滚动:
library(shiny)
myData <- cbind(list(index = row.names(iris)), iris
, rep(list(row.names(iris)), 10))
names(myData)[7:16] <- paste0("randomData", 1:10)
runApp(
list(ui = fluidPage(
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/fixedheader/2.1.2/js/dataTables.fixedHeader.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/fixedheader/2.1.2/css/dataTables.fixedHeader.css',rel='stylesheet',type='text/css')))
),

dataTableOutput("mytable")
)
, server = function(input, output, session){
output$mytable <- renderDataTable(myData,
options = list(
pageLength = 50,
initComplete = I("function(settings, json){
new $.fn.dataTable.FixedHeader(this, {
left: true,
right: true
} );
}")
)
)
})
)

所以在图像中我们可以看到我们向下滚动到记录 8 并通过某些方式,但标题和第一列(我们添加的索引列)仍然可见。

enter image description here

关于r - 在 Shiny 中使用 data.table 卡住标题和第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228786/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com