にありがとう、dataTableOutputs
などtableOutputs
は読み取り専用常にです。より多くの機能が必要な場合は、追加パッケージを取得する必要があります。私が知っている2つのオプションがあります。どちらも足を踏み入れる必要があります。
- パッケージ
rhandsontable
は、クライアントから変更可能なEXCELライクなテーブルにアクセスできます。適切な設定では、変更されたテーブルはサーバー側でもアクセス可能になります。さらに読むために、私はthis questionのStéphaneLaurentsの答えをお勧めします。
- パッケージ
DT
は、サーバー側で選択した行にアクセスする方法を提供します。これは、 "行の削除"機能を実装するために使用できます。行を追加するには、textInput
s、selectInput
などと書く必要がありますが、それはかなり簡単です。
どちらのパッケージは、CRANとはGitHubから入手できます。
ほとんどの場合、行の追加/削除行のインターフェイスが大幅に節約できるため、私は個人的にオプション2を選択します。ユーザーがテーブル内の任意のものを埋めるためにposibillityを与えても、サーバーは満足できません。ここ
は、第二のアプローチを紹介する最小限の一例である
library(DT)
library(shiny)
ui = fluidPage(
actionButton("delete_rows", "Delete selected rows"),
DT::dataTableOutput("mytable")
)
server = function(input, output, session){
serverTable = reactiveVal(mtcars)
output$mytable = DT::renderDataTable({
serverTable()
})
observeEvent(input$delete_rows, {
serverTable(serverTable()[-input$mytable_rows_selected,])
})
}
shinyApp(ui,server)