考虑一个Basic DataTable,其代码如下(在此链接上呈现和相同的代码:https://shiny.rstudio.com/gallery/basic-datatable.html)
列标题与表值不完全对齐;标题位于值的右侧,大约一个字符。
是否有设置消除标题中的这种差距?在参考文档时,我注意到renderDataTable
有一个options
参数,这可能是https://datatables.net/reference/option/中的一个选项。在'column'
的此列表中搜索,最佳匹配为columns.contentPadding
,但从'mmm'
更改为''
似乎没有任何影响(尽管我可能是错误地实施它):
options = list(columns.contentPadding = "", # or contentPadding = ""
autoWidth = FALSE))
server.R
# Load the ggplot2 package which provides
# the 'mpg' dataset.
library(ggplot2)
function(input, output) {
# Filter data based on selections
output$table <- DT::renderDataTable(DT::datatable({
data <- mpg
if (input$man != "All") {
data <- data[data$manufacturer == input$man,]
}
if (input$cyl != "All") {
data <- data[data$cyl == input$cyl,]
}
if (input$trans != "All") {
data <- data[data$trans == input$trans,]
}
data
}))
}
ui.R
# Load the ggplot2 package which provides
# the 'mpg' dataset.
library(ggplot2)
fluidPage(
titlePanel("Basic DataTable"),
# Create a new Row in the UI for selectInputs
fluidRow(
column(4,
selectInput("man",
"Manufacturer:",
c("All",
unique(as.character(mpg$manufacturer))))
),
column(4,
selectInput("trans",
"Transmission:",
c("All",
unique(as.character(mpg$trans))))
),
column(4,
selectInput("cyl",
"Cylinders:",
c("All",
unique(as.character(mpg$cyl))))
)
),
# Create a new row for the table.
fluidRow(
DT::dataTableOutput("table")
)
)
答案 0 :(得分:1)
这是一个简单的样式问题。
使用常规数据表样式表,表格标题包含10px 18px
,而正文单元格为8px 10px
。
这些选项不能通过datatables api获得。
您唯一的选择是覆盖其中一种细胞类型的样式。这是一个添加,重新定义标题中的填充以匹配正文。 (要添加到ui定义中的任何位置。)
tags$head(tags$style("
table.dataTable thead th {
padding: 8px 10px !important;
}
"))