数据表行名 header (top-left) 区域的背景颜色
Background color in datatable rowname header (top-left) area
使用scrollX = TRUE
会使数据表的colnames 和rownames 之间cross-space 的背景颜色无效。更改为 scrollX = FALSE
有效,但它也删除了 fixedColumns
效果。
output$monthly_summary_FA <- renderDataTable({
mytable <- FA_table() %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-
serif;">',colnames(mytable),'</span>')
rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font-
weight: bold;">', rownames(mytable),'</span>')
datatable(mytable,
extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
columnDefs = list(list(className = 'dt-center', targets = "_all")),
fixedColumns = list(leftColumns = 1))
) %>%
formatPercentage(c(1:ncol(mytable)), 0) %>%
formatStyle(target = 'row',columns = colnames(mytable),
backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box',
'-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>%
formatStyle(c(0), `border-right` = "solid 1px") })
更新: 添加了mytable数据框,输入为 renderDataTable
mytable
试试这个
output$monthly_summary_FA <- renderDataTable({
# mytable <- my_data %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
# colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;">',colnames(mytable),'</span>')
colnames(mytable)[c(1:ncol(mytable))] <- paste0('<span style="color:',c("red"),'">',colnames(mytable)[c(1:ncol(mytable))],'</span>')
rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font-weight: bold;">', rownames(mytable),'</span>')
datatable(mytable,
extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
columnDefs = list(list(className = 'dt-center', targets = "_all")),
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#87ceeb', 'color': '#fff'});",
"}"),
fixedColumns = list(leftColumns = 1))
) %>%
formatPercentage(c(2:ncol(mytable)), 0) %>%
formatStyle(target = 'row',columns = colnames(mytable),
backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box',
'-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>%
formatStyle(c(0), `border-right` = "solid 1px")
})
您将获得
使用scrollX = TRUE
会使数据表的colnames 和rownames 之间cross-space 的背景颜色无效。更改为 scrollX = FALSE
有效,但它也删除了 fixedColumns
效果。
output$monthly_summary_FA <- renderDataTable({
mytable <- FA_table() %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-
serif;">',colnames(mytable),'</span>')
rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font-
weight: bold;">', rownames(mytable),'</span>')
datatable(mytable,
extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
columnDefs = list(list(className = 'dt-center', targets = "_all")),
fixedColumns = list(leftColumns = 1))
) %>%
formatPercentage(c(1:ncol(mytable)), 0) %>%
formatStyle(target = 'row',columns = colnames(mytable),
backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box',
'-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>%
formatStyle(c(0), `border-right` = "solid 1px") })
更新: 添加了mytable数据框,输入为 renderDataTable
mytable
试试这个
output$monthly_summary_FA <- renderDataTable({
# mytable <- my_data %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
# colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;">',colnames(mytable),'</span>')
colnames(mytable)[c(1:ncol(mytable))] <- paste0('<span style="color:',c("red"),'">',colnames(mytable)[c(1:ncol(mytable))],'</span>')
rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font-weight: bold;">', rownames(mytable),'</span>')
datatable(mytable,
extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
columnDefs = list(list(className = 'dt-center', targets = "_all")),
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': '#87ceeb', 'color': '#fff'});",
"}"),
fixedColumns = list(leftColumns = 1))
) %>%
formatPercentage(c(2:ncol(mytable)), 0) %>%
formatStyle(target = 'row',columns = colnames(mytable),
backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box',
'-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>%
formatStyle(c(0), `border-right` = "solid 1px")
})
您将获得