【发布时间】:2026-01-07 04:45:01
【问题描述】:
感谢您的时间。
我正在尝试让闪亮的应用程序正常工作,但由于某种原因,我在渲染 DT 数据表时遇到了突出显示问题。
例如,这是有效的:
output$DT = DT::renderDataTable({DT = datatable(DT,options = list(searching = FALSE,paging = FALSE,lengthChange = FALSE,ordering = FALSE,rownames= FALSE)) %>%
formatStyle('TEST',backgroundColor = styleEqual(c(1,2,3,4,5), c('chartreuse', 'chartreuse4','yellow','indianred','indianred4'))) )})
但是,当尝试添加此附加行时,突出显示未出现,但代码运行:
%>%
formatStyle('TEST2',backgroundColor = styleEqual(c(TRUE,FALSE),c('green','red'))
我也尝试了 styleInterval,并且得到了相同的结果。
谢谢。
可重现的代码:
ui <- fluidPage(
dataTableOutput('DF')
)
server <- function(input, output, session) {
DF = as.data.frame(matrix(NA,nrow=2,ncol = 2))
DF$V1 = c(TRUE,FALSE)
DF$V2 = c(1,2)
output$DF = renderDataTable(DF)
output$DF = DT::renderDataTable({DF = datatable(DF,options = list(searching = FALSE,paging = FALSE,lengthChange = FALSE,ordering = FALSE,rownames= FALSE)) %>%
formatStyle('V2',backgroundColor = styleEqual(c(1,2,3,4,5), c('chartreuse', 'blue','yellow','indianred','indianred4'))) %>%
formatStyle('V1',backgroundColor = styleEqual(c(TRUE,FALSE),c('green','red')))})
}
shinyApp(ui = ui, server = server) # RUN THE APPLICATION
【问题讨论】:
-
如果您包含一个完全可重现的示例和一些数据,帮助您会容易得多。
-
我正在使用的代码非常非常长(1000 多行代码),基本上这部分包含一个带有两个变量的数据框,一个是 TRUE/FALSE(让我们保持简单,并说没有顺序),另一个包含值 1-5(相同的想法)。
-
即使代码或数据很大,您始终可以使用假数据或基本包中常见的数据创建reproducible example。不是我编辑的,因为这是
DT表的样式问题,而不是 Shiny 本身。 -
好的,我会这样做并回复你们。
-
刚刚添加。抱歉花了这么长时间,* 还是有点新意!
标签: r shiny datatables dt