Shiny 在R中移动DT底部的页脚

Shiny 在R中移动DT底部的页脚,shiny,datatables,dt,Shiny,Datatables,Dt,我有一个数据表,其中页脚有“上一页/下一页”文本。目前,它与“显示15中的1”文本重叠。有没有办法移动它,这样我就不会跑过头 这是一张图片和代码。我不太熟悉html/java脚本,因此如果您能提供一个解释为什么要使用特定代码的答案,我将不胜感激 library(shiny) library(bs4Dash) library(DT) x = data.frame(one = rep("Hey how is everyones day? I need some help on this

我有一个数据表,其中页脚有“上一页/下一页”文本。目前,它与“显示15中的1”文本重叠。有没有办法移动它,这样我就不会跑过头

这是一张图片和代码。我不太熟悉html/java脚本,因此如果您能提供一个解释为什么要使用特定代码的答案,我将不胜感激

library(shiny)
library(bs4Dash)
library(DT)


x = data.frame(one = rep("Hey how is everyones day? I need some help on this shiny application and learn how to use some of the features on datatable.", 10),
               two = rep("this is the second column of text. ", 10),
               three = rep("this is the third column of text", 10))


    ui = bs4DashPage(
        old_school = FALSE,
        sidebar_min = TRUE,
        sidebar_collapsed = FALSE,
        controlbar_collapsed = FALSE,
        controlbar_overlay = TRUE,
        title = "Basic Dashboard",
        navbar = bs4DashNavbar(),
        sidebar = bs4DashSidebar(),
        controlbar = bs4DashControlbar(),
        footer = bs4DashFooter(),
        body = bs4DashBody(
            DTOutput("table")
        )
    )
    
    server = function(input, output) {
        
        output$table = renderDataTable({
            datatable(x, rownames = F, style = "bootstrap",  extensions = 'Responsive', options = list(
                #dom = 't'
            ))
        })
    }


shinyApp(ui, server)

当我在闪亮的仪表板上运行相同的代码时,它会以我希望的方式显示出来。所以我相信这与Bs4Dash样式表有关。下面是ShinydaShashboard的外观


你可以试试这个,希望它能解决你的问题

library(shiny)
library(bs4Dash)
library(DT)


x = data.frame(one = rep("Hey how is everyones day? I need some help on this shiny application and learn how to use some of the features on datatable.", 10),
               two = rep("this is the second column of text. ", 10),
               three = rep("this is the third column of text", 10))


ui = bs4DashPage(
  old_school = FALSE,
  sidebar_min = TRUE,
  sidebar_collapsed = FALSE,
  controlbar_collapsed = FALSE,
  controlbar_overlay = TRUE,
  title = "Basic Dashboard",
  navbar = bs4DashNavbar(),
  #sidebar = bs4DashSidebar(),
  controlbar = bs4DashControlbar(),
  footer = bs4DashFooter(),
  body = bs4DashBody(
    DTOutput("table")
  )
)

server = function(input, output) {
  
  output$table = renderDataTable({
    datatable(x, rownames = F,   extensions = 'Responsive', options = list(
      #dom = 't'
    ))
  })
}


shinyApp(ui, server)
我只从
renderDataTable
中删除了
style=“bootstrap”
,并且它们为perpose服务


初始化后需要重新绘制表格

$('#tableIdHere').DataTable().draw();

您的css将被其他一些默认css覆盖。请检查您的类是否命名相似或相互冲突。

请分享一个示例。@ismirsehregal我已经用一个示例以及我希望它看起来的方式更新了我的帖子。让我们一起调试,当我们发现问题时,我会发布一个答案。它是否会将其修复为删除
选项
?由于手动分配
#dom='t'
可能会破坏布局。你能分享更多关于你为什么添加这个选项的信息吗?嗨@Islamelshoboksh选项菜单不是问题。然而,我确实想出了一些办法。它仅在启动时不起作用。My DT显示一个包含特定股票信息的数据表。一旦您更改了库存(再次呈现表格),问题就会得到解决。@jordan我明白了,这是一个重要的信息。在这种情况下,请尝试在渲染后调用draw函数。我会发布一个答案。嘿,古拉布,我想保留引导功能嘿,伊斯拉姆,在我跑步之前试着理解这一点。输入$refresh从哪里来?@jordanError我不熟悉闪亮,因为我对数据表不熟悉。您可以了解
observeEvent
的工作原理。至于DT,当表被错误初始化时,您总是调用
.draw()
,以便重新排列该表。谢谢您回复我。我尝试添加上述内容,但无法使其正常工作。我不太清楚我们为什么要添加observeEvent()@jordan正如我所说的,我不熟悉shiny,但我熟悉DT。我不确定应该在哪里添加重画,但它需要在第一次和初始DT渲染之后。不,是Datatables在初始化时无法正确渲染。