重命名Shiny dashboard datatable中的列

时间:2016-01-03 09:44:37

标签: jquery r datatables shiny shinydashboard

我的Shiny应用程序中有一个数据表。默认情况下,列名称是数据集的列名称。 我想更改显示的列名,而不触及数据集本身。

我找到了this文档,这正是我需要的,但我不确定如何将其转换为R语法。

这是我呈现表格的当前方式:

output$score_data_table <- renderDataTable({
    selectedArea_overview_TC()}, 
    options = list(orderClasses = TRUE, 
                   lengthMenu = list(c(15,25,50,100,-1), c('15','25','50','100','All')),
                   pageLength = 15,
                   order=list(1, 'desc'))
)

我尝试过多种方式添加columnDefs选项,但没有任何效果。

任何提示都将不胜感激!

2 个答案:

答案 0 :(得分:2)

您可以在renderDataTable中使用colnames。类似的东西:

  output$table1 <- DT::renderDataTable({
     datatable(messages(),
     colnames = c('Type', 'Message', 'Check', 'Entity',   'ID','File'), 
     options = list(pageLength = 50, autoWidth = TRUE,
     columnDefs = list(list(width = '800px', targets = c(2)))),filter='top')})  

答案 1 :(得分:1)

我陷入了同样的陷阱。您实际需要的文档是columns.title

output$score_data_table <- renderDataTable({
  selectedArea_overview_TC()
  },
  options = list(orderClasses = TRUE,
                 lengthMenu = list(c(15,25,50,100,-1), c('15','25','50','100','All')),
                 pageLength = 15,
                 order=list(1, 'desc')
                 columns = list(
                   list(title = 'newnameforcol1'),
                   NULL, # skip column 2
                   list(title = 'newnameforcol3'),
                 )
  )
)

标题也可以与columnDefs一起使用。我不确定。