使用时shiny时经常要使用DT包展示数据表格,表格的参数很多,容易忘记,做个记录备查.
常用链接:DT包介绍,DT的API
一.表格生成函数
datatable(data, options = list(), class = "display", callback = JS("return table;"), rownames, colnames, container, caption = NULL, filter = c("none", "bottom", "top"), escape = TRUE, style = "default", width = NULL, height = NULL, elementId = NULL, fillContainer = getOption("DT.fillContainer", NULL), autoHideNavigation = getOption("DT.autoHideNavigation", NULL), selection = c("multiple", "single", "none"), extensions = list(), plugins = NULL)
二.全局参数
放在options(DT.options = list())
里可以对脚本里的所有datatable()
的部分参数一起设置.常用的是将表格的描述文字改成中文.
options(DT.options = list(
searchHighlight = TRUE,
language = list(
info = '显示第_START_ 至 _END_ 项结果,共 _TOTAL_ 项',
search = '搜索:',
paginate = list(previous = '上页', `next` = '下页'),
lengthMenu = '显示 _MENU_ 项结果')))
三.个性参数
1.控制显示内容
datatable(options = list(dom = 'lftipr'))
-参数l
控制显示
-参数
f
控制显示-参数
i
控制显示
-参数
p
控制显示-上述参数添加进字符串则显示对应的元素,根据参数在字符串中与
t
的位置可变换元素显示的位置.
2.不显示行名称
datatable(rownames = FALSE)
3.添加表的标题和更改列名行名
datatable(caption = '标题', rownames = c(), colnames = c()
4.不显示列上边的排序三角及指定按某列排序
datatable(options = list(ordering = F, order = list(0, 'asc'))
0代表第一列,asc代表升序,desc代表降序.
5.第1至3列居中, 4,5列左对齐
datatable(options = list(columnDefs = list(
list(className = 'dt-center',
targets = 0:2),
list(className = 'dt-left',
targets = 3:4)
)))
6.样式
datatable(class = 'hover')
多种样式可选
7.将某列的数字按百分比格式显示
datatable(m) %>% formatPercentage(列名, 小数位数)