避免仅在 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 数据表的第一列中换行的主要内容,如果未能解决你的问题,请参考以下文章