50

Shiny でレンダリングされた DataTable で列の幅を設定しようとしていますが、aoColumnDefs オプションを使用して実装できません。誰もこれを試したことがありますか?テーブルには 1 つのテキストがあり、その後に 3 つの数値列が続きます。数値列を狭くし、最初の列 (テキスト) を広くする必要があります。

output$result <- renderDataTable({
z <- as(dataInput(), "data.frame")
setnames(z, c("Rules", "Support", "Confidence", "StatDep"))
z
}, options = list(aLengthMenu = c(5, 30, 50), iDisplayLength = 5, bSortClasses = TRUE,
              aoColumnDefs = list(sWidth = "50px", aTargets = list(1))))

ありがとう、

  • ラージ。

**更新**これは機能しているようですが、これを行うための他のオプションもあるかもしれません.

output$result <- renderDataTable({
z <- as(dataInput(), "data.frame")
setnames(z, c("Rules", "Support", "Confidence", "StatDep"))
z
}, options = list(aLengthMenu = c(5, 30, 50), iDisplayLength = 5, bSortClasses = TRUE,
              bAutoWidth = FALSE,
              aoColumn = list(list(sWidth = "150px", sWidth = "30px",
                                       sWidth = "30px", sWidth = "30px"))
                                  ))
4

2 に答える 2

48

これを試して

#OUTPUT - dtdata
output$table <- DT::renderDataTable({
  data.frame(a=c(1,2,3,4,5),b=c("A","B","C","D","E"))
},
options = list(
  autoWidth = TRUE,
  columnDefs = list(list(width = '200px', targets = "_all"))
))

すべての列の幅を 200px に設定します。

選択した列の幅を設定するtargetsには、数値またはベクトルに変更します。

targets = c(1,3)
于 2015-08-04T16:08:52.833 に答える