避免仅在 R 数据表的第一列中换行

Posted

技术标签:

【中文标题】避免仅在 R 数据表的第一列中换行【英文标题】:Avoid Wrapping Text only in first column of R datatable 【发布时间】: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; ")),但不确定它是否会产生您正在寻找的结果。 【参考方案1】:

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

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

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

【讨论】:

以上是关于避免仅在 R 数据表的第一列中换行的主要内容,如果未能解决你的问题,请参考以下文章

避免在textarea中换行[重复]

Python Pandas:按一列分组,仅在另一列中聚合,但取相应数据

python怎么做到在写入的TXT中换行

R:在第一列中按重复项合并行

sql中如何使一列中的多个重复数据只显示第一条

使用 VBA 循环遍历 Excel 中表格范围的第一列