如何减少 DT 数据表中的行高

Posted

技术标签:

【中文标题】如何减少 DT 数据表中的行高【英文标题】:How can I reduce row height in DT datatables 【发布时间】:2017-06-25 06:17:20 【问题描述】:

我希望在渲染 DT 数据表时能够获得“更苗条”的行(即降低该高度)

options(digits.secs=6)
library(data.table)
d = data.table(x = 1:10,time = as.POSIXct('2015-03-23 12:00:00.123'))
library(DT)
datatable(d)

【问题讨论】:

你可以使用datatable(d, class="compact") @HubertL 唯一看起来正在做的事情就是删除漂亮的突出显示。 【参考方案1】:

如果您添加pageLength= 属性,您可以设置最初显示的行数。通过调整lengthMenu= c(),您还可以控制下拉菜单中提供的大小,您还可以使用searching =FALSE打开或关闭搜索

   library(DT)
    datatable(d, options=list(
       pageLength = 3,
       lengthMenu = c(2, 12, 18),
       searching= FALSE))%>%

   formatStyle( 0, target= 'row',color = 'black', backgroundColor = 'yellow', fontWeight ='bold', lineHeight='70%')

通过使用辅助函数,您可以像在网页上的传统 CSS 中一样设置样式。注意最后一个,line-height 应该调整行高。

已编辑:我将所有代码移到一起,让您看看它是如何工作的。对不起,我没有更清楚前面。 %>% 是必需的,devtools::install_github("rstudio/DT") 版本的 DT 也是如此。

【讨论】:

听起来很有趣,但有人能重现吗? =) 抱歉,我在没有导入部分的情况下剪切并粘贴了...options=list() 围绕参数。我已经使用它并且它有效。如果你不能让它工作,请确保你安装了devtools::install_github("rstudio/DT") version 您可以通过这种方式为该类型添加任何驼峰式修改的 CSS 样式... @sconfluentus 是否可以类似地调整标题行和过滤器行的高度? @kartik_subbarao 这是一个非常好的问题,我之前没有尝试过。对不起那个!【参考方案2】:

我发现上面的答案不起作用。我通过https://rstudio.github.io/DT/010-style.html 找到的更简单的解决方案是使用:

DT::datatable(df) %>%
DT::formatStyle(names(df),lineHeight='80%') 

【讨论】:

您的解决方案的唯一区别是使用管道和使用 : 调用 DTformatStyle() 以同样的方式完成。正确调用 leaflet 时,不需要 ::,但根据您从库中调用包的顺序,范围界定可能是一个问题。

以上是关于如何减少 DT 数据表中的行高的主要内容,如果未能解决你的问题,请参考以下文章

如何动态改变报表的行高列宽

我想更改DataGrid选定的行高,而DataGrid中的数据保持不变

如何根据文本内容增加 NSTableView 中的行高?

Python:如何在 docx 中调整表格的行高

删除datatable中的行

如何用python改写csv的行高和列宽