2016-06-23 8 views
0

rstudio DTライブラリとの光沢のあるインターフェイスで作成されたテーブルに_row_last_clickedオプションの問題があります。私はデータテーブル内の行を選択し、変更を加えて光沢のあるUIに出力しようとしています。最初の選択では機能しますが、前に選択した同じテーブル行を再度クリックすると、_row_last_clickedは応答しないままです(= NULL?)。ここで私が達成しようとしています何のmininmal例(ui.rそう無関係)である:shiny DT _row_last_clicked

# server.r-side: 

table_x<-# ... loads the dataframe 
redo_cal<-reactiveValues() 
redo_cal$a<-1 

observe({ 
    redo_cal$a 
    output$some_table <- DT::renderDataTable(   
     table_x, 
     server = TRUE, # same problem with FALSE 
     selection =c('single') 
    ) 
}) 


observeEvent(
    input$some_table_row_last_clicked,{ 
    s<-input$some_table_row_last_clicked 
    table_x[s,]<- # some reversible modifications based on the row selection ... 
    redo_cal$a<-(redo_cal$a+1) # trigger above renderDataTable 
}) 

問題は、DTの最新githubのバージョンと同様にCRANで見つかった放出の両方のために持続します。私はいくつかの関連記事を読んだが、満足のいく解決策を見つけられなかった。ご助力ありがとうございます!

+0

あなたはtable_xをreactiveValue(私の心)として持っている必要があります。 – Batanichek

+0

ありがとう!あなたの提案を試してみましたが、同じUIテーブル行を2回連続して選択できないという問題は、引き続き解決しません。 – martin

+0

'some_table_row_selected' insted' row_clicked'が必要です – Batanichek

答えて

1

私は右のあなたを理解し、あなたはsome_table_row_selectedtable_x必要がある場合(dd$dを - 私の例では)reactiveValues

は、例を参照してくださいことがどこ # some reversible modifications based on the row selection == X あなたはこの行で、xの行値を選択するたびにloglogは、各セッションでは

library(shiny) 
library(DT) 
data=data.frame(x=1:10,y=2:11) 

ui=shinyUI(
    fluidPage(
    DT::dataTableOutput("tt") 
) 
) 


server=shinyServer(function(input, output) { 
    dd=reactiveValues(d=data) 
    output$tt=DT::renderDataTable(
    datatable(
     dd$d,selection =c('single') 
    ) 


) 
    observeEvent(input$tt_rows_selected,{ 

    dd$d[input$tt_rows_selected,1]<-log(dd$d[input$tt_rows_selected,1]) 
    }) 
}) 

shinyApp(ui,server) 

を-edあなたのデータをリフレッシュ

PS

誰かがコピー&ペーストしてテストできるような最小の例。

+0

驚くべきこと、それは動作します!私はポイントがあると思う。 observeEvent _rows_selectedは、dd $ dのrenderDataTableの再実行をトリガーします。これにより、_rows_selectedがリセットされます。したがって、単一のエントリに留まる。私の最初の例では、これは再実行されませんでした。おかげさまで、これは私を馬鹿にしました... – martin

関連する問題