【问题标题】:Avoid Wrapping Text only in first column of R datatable避免仅在 R 数据表的第一列中换行
【发布时间】:2018-08-12 08:14:33
【问题描述】:

我正在努力将文本保留在数据表的一列中以防止换行。

我想避免在第一列中换行(因为它是使行大小变大的唯一部分),但保留标题中的选项(以避免滚动)。

我尝试调整第一列的宽度,但无论我使用什么尺寸,文本都会自动换行。

DT::datatable(chartfilter,
    rownames = FALSE,
    options=list(iDisplayLength=7,                    
                 bPaginate=FALSE,                  
                 bLengthChange=FALSE,                       
                 bFilter=FALSE,                                    
                 bInfo=FALSE,
                 rowid = FALSE,
                 autoWidth = FALSE,
                 ordering = FALSE,
                 scrollX = TRUE,
                 columnDefs = list(list(width='500px', targets = list(1)))

我还找到了一种解决方案,可以关闭整个表格中的文本换行 - 但我不希望我的列标签使用这种方式。在表格输出前的 UI 中添加:

tags$style(HTML("#charttable  {white-space: nowrap;  }")),

这可能吗,还是我只需要接受第一列中的换行文本?感谢我能得到的任何帮助,如果需要更多信息,请告诉我。

【问题讨论】:

  • 您可以将 CSS 规则应用于 .dataTables_scrollBody,例如:tags$style(HTML(".dataTables_scrollBody {white-space: nowrap; }")),但不确定它是否会产生您正在寻找的结果。

标签: r datatable shiny


【解决方案1】:

使用formatStyle() 函数将特定样式应用于列:

datatable() %>% formatStyle("Region","white-space"="nowrap")

这个函数来自同一个库(DT)。有关formatStyle() 的更多信息可以在这里找到:https://rstudio.github.io/DT/010-style.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2021-07-23
    • 2018-09-27
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多