首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在闪亮的应用程序中使用dt的列宽

在闪亮的应用程序中使用dt的列宽
EN

Stack Overflow用户
提问于 2018-05-22 18:45:50
回答 1查看 868关注 0票数 1

有没有办法防止表格在通过下拉菜单刷新数据后自动调整大小?

我知道这与R shiny - DT::renderDataTable column width中的问题完全相同,但据我所知,这个问题从未得到充分的回答。

代码语言:javascript
复制
library(shiny)
library(tidyr)
library(dplyr)
library(DT)

ui <- fluidPage(selectInput(inputId = "dayinput", 
                            label = "Day Filter", 
                            choices = c("Monday", "Tuesday","Wednesday")), 
                dataTableOutput("table1")
                )

server <- function(input, output) {

  output$table1 <- renderDataTable({
    price <- c("12", "11", "14")
    day <- c("Monday", "Tuesday", "Wednesday")
    df <- data.frame(price, day) %>% filter(day == input$dayinput)

    datatable(df, rownames = FALSE, class = 'cell-border stripe', 
              options = list(dom = 't', pageLength = -1, lengthMenu = list(c(-1), c('All')),
                             autoWidth = TRUE, columnDefs = list(list(width = '50px', targets = "_all"))))
  })
}

shinyApp(ui =ui, server = server)
EN

回答 1

Stack Overflow用户

发布于 2018-05-22 18:59:42

我想我第一眼就误解了这个问题。无论如何,我认为你可以通过一些css样式来实现。

这只是一个小例子:

代码语言:javascript
复制
library(shiny)
library(tidyr)
library(dplyr)
library(DT)

ui <- fluidPage(
  tags$head(
    tags$style(HTML(
      "
#table1 {width: 250px !important}
#DataTables_Table_0 td {width: 125px !important}
      "
    ))
    ),
  selectInput(inputId = "dayinput", 
              label = "Day Filter", 
              choices = c("Monday", "Tuesday","Wednesday","Thuuuuuuuuuuuuuuuursday")), 
  dataTableOutput("table1")
)

server <- function(input, output) {

  output$table1 <- renderDataTable({
    price <- c("12", "11", "14", "15")
    day <- c("Monday", "Tuesday", "Wednesday","Thuuuuuuuuuuuuuuuursday")
    df <- data.frame(price, day) %>% filter(day == input$dayinput)

    datatable(df, rownames = FALSE, class = 'cell-border stripe', 
              options = list(dom = 't', pageLength = -1, lengthMenu = list(c(-1), c('All')),
                             autoWidth = FALSE)
    )
  })
}

shinyApp(ui =ui, server = server)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50465763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档