【问题标题】:R Shiny Dashboard DataTable Column Width [duplicate]R Shiny Dashboard DataTable列宽[重复]
【发布时间】:2019-08-05 12:32:21
【问题描述】:

我正在构建一个闪亮的仪表板,仪表板上的一个面板是一个数据表。

下面是我的代码:

  output$table = DT::renderDataTable(b1, selection = 'single')

数据表中的列宽现在根据列名的宽度进行调整。但是,某些单元格值是文本,并且这些文本被压缩以显示在多行中,因为它们比列名长。

我想知道是否有一种方法可以调整列宽以适应一行中的单元格值。

或者,有没有办法为列设置固定宽度并通过悬停获得单元格值的全部内容?

提前致谢。

【问题讨论】:

  • 谢谢,我检查了这一点,并在本文提供的答案中提供的 Option 参数中使用了 columnDefs。但是,这对我来说并不奏效。
  • 那么你需要显示你的问题的minimal reproducible example,它显示来自副本的答案如何无法工作。如果您这样做,它将让我们诊断您的问题与重复问题中的问题有何不同。但是,如果没有它,就不可能进一步回答您的问题。

标签: javascript r shiny shinydashboard dt


【解决方案1】:

您可以使用ellipsis 插件来限制单元格的可见字符数,并在工具提示中显示单元格的全部内容。

library(DT) 

dat <- data.frame(
  A = c("fnufnufroufrcnoonfrncacfnouafc", "fanunfrpn frnpncfrurnucfrnupfenc"),
  B = c("DZDOPCDNAL DKODKPODPOKKPODZKPO", "AZERTYUIOPQSDFGHJKLMWXCVBN")
)

datatable(
  dat, 
  plugins = "ellipsis",
  options = list(
    # limit cells in columns 1 and 2 to 17 characters
    columnDefs = list(list(
      targets = c(1,2),
      render = JS("$.fn.dataTable.render.ellipsis( 17, false )")
    ))
  )
)

【讨论】:

  • 谢谢!效果很好!
猜你喜欢
  • 2023-04-09
  • 2018-08-23
  • 1970-01-01
  • 2016-03-17
  • 2021-03-29
  • 2013-02-25
  • 1970-01-01
  • 2017-09-26
  • 2018-06-18
相关资源
最近更新 更多