我想知道如何创建一个(html)表格单元格,其中动态内容有光泽? 现在我使用以下组合:
server.R
output$desc <- renderTable(
hdx.desc()
)
ui.R
tabsetPanel(
tabPanel("Description", tableOutput("desc"))
)
这很有效。我想设置一些单元格的链接,并添加一些额外的布局设置到表格,如粗体,没有边框等,也不想要前面的行号。
我该怎么做?我尝试了HTML()命令,但它确实没有用。 谢谢你的帮助。
答案 0 :(得分:4)
如果你想使用renderTable
,最简单的方法就是使用css。删除行号需要将选项include.rownames = FALSE
传递给print.xtable
。 ...
函数中有一个renderTable
参数可以执行此操作。您可以在表中包含html并使用sanitize.text.function
参数。
runApp(list(
ui = bootstrapPage(
tableOutput("myTable")
, tags$head(tags$style(type="text/css",
"#myTable table th td {
border: 1px solid black !important;
}
#myTable table th
{
background-color:green;
color:white;
}"
))
),
server = function(input, output) {
output$myTable <- renderTable({
temp = c(runif(4),
as.character(tags$a(id = 'myId', href='http://www.example.com', runif(1)))
)
data.frame(date=seq.Date(Sys.Date(), by=1, length.out=5), temp = temp)
}, include.rownames = FALSE, sanitize.text.function = function(x) x)
}
))
或者查看允许您使用http://datatables.net/的renderDataTable
。
答案 1 :(得分:0)
如果你知道你的桌子是静态的,并且只有内容是动态的,你可以按照我在此处注释的方法进行注释:Shiny - populate static HTML table with filtered data based on input
简而言之,我构建一个静态html表并将其包装在一个单独的R文件中的函数中,在服务器中将其源代码并使用新过滤的数据在renderUI()函数中调用它。因此,表内容随用户输入而更新。
未来项目将是一个允许用户以动态方式生成静态html表的函数,例如,创建具有X行,Y列,rownames [],colnames []等的表的函数。如果我成功了,我会在这里发布我的解决方案。