使用数据表排序行

时间:2017-01-03 22:20:47

标签: r shiny dt

肯定以前曾经问过这个问题,但是我还没有找到任何适合我的代码。我正在使用R Shiny中的DataTable。我想生成DataTable并默认在第二列而不是第一列上进行排序。这就是我在server.R中的内容:

output$TabVals <- DT::renderDataTable({
  DT::datatable(TableData(), 
              options = list(pageLength = 25, 
                             searching = FALSE, 
                             paging = FALSE),   
              rownames = FALSE) %>%
      formatRound(2, digits = 0)
})

这很有效。我发现其他人所做的是包含在选项order = list(2, 'asc')中(因为我在第二列上排序并希望数据升序。但是,当我添加该行时,DataTable不再显示任何行。< / p>

我把这个例子放在一起重新创建问题:

c1 <- c("a", "b", "c")
c2 <- c(1, 2, 3)
test <- cbind(c1, c2)

test1 <-  DT::datatable(test)
test2 <-  DT::datatable(test, options = list(order = list(2, 'desc')))

test1制作了一个不错的DataTable。 test2生成一个空白表格。

我尝试将order = list(2, 'asc')移动到代码的其他部分(例如,在选项之后,在rownames之前,在管道之后),但这没有帮助。赞赏的想法!

2 个答案:

答案 0 :(得分:0)

我完全不确定这是你所追求的,但你可以尝试以下任何一种

library(data.table). 
c1 <- c("a", "b", "c")
c2 <- c(1, 2, 3)
test <- data.table(c1,c2)
setkey(test,c2)
test
# or
test[, some function in j, by = c2]

希望有所帮助。我有预感你比我知道更多。

答案 1 :(得分:0)

return this.http.get<T>('http://localhost:50441/api/v1/Movimento/Simulacao' + inscricao , listaDatas, {headers: yourHeader}); 基于javascript,因此索引从0开始而不是1。 这就是为什么你的表是空白的,你想要排序一个不存在的列。

所以这应该有效:

DT