2017-06-26 8 views
0

私はユーザーがテーブルに値を入力できるアプリケーションを作ろうとしています。テーブルが光沢を帯びて表示されていますか?

だから私はdata.frameコマンドを使用してテーブルを作成し、定期的な光沢のあるUIとサーバのコードを使用して、アプリケーションのHTMLの表をプロットしました。

私が直面する問題は、テーブルでは、「読み取り専用」の形式である、私は、このようなテーブルの値は光沢のHTMLページ上にプロット読みますか見当がつかない。

親切に私に変更

を示唆してネイティブピカピカで事前

答えて

1

にありがとう、dataTableOutputsなどtableOutputsは読み取り専用常にです。より多くの機能が必要な場合は、追加パッケージを取得する必要があります。私が知っている2つのオプションがあります。どちらも足を踏み入れる必要があります。

  1. パッケージrhandsontableは、クライアントから変更可能なEXCELライクなテーブルにアクセスできます。適切な設定では、変更されたテーブルはサーバー側でもアクセス可能になります。さらに読むために、私はthis questionのStéphaneLaurentsの答えをお勧めします。
  2. パッケージ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) 
関連する問題