2017-08-14 1 views
0

Ich habe eine Datentabelle, die mit DT:: rendertableOutput in meinem glänzenden Armaturenbrett gerendert wird. Die Säulen sind A, B, C, . Nun möchte ich nur die Spalten A und B beim Öffnen der Shiny-App und später anzeigen. Wenn ich auf die bestimmte Zeile in der angezeigten Datentabelle klicke, muss ich ein Popup öffnen, das Daten in der gleichen Zeile in den Spalten C und anzeigt.Popup-Modaldialog anzeigen/Popup onclicking die Zeile in glänzendem Armaturenbrett

Unten ist mein Datenrahmen:

> df 
    A   B  C  D 
    A1  B1  C1  D1 
    A2  B2  C2  D2 

Bedingungen:

  1. Beim Öffnen des glänzenden App, nur Spalte A und B angezeigt werden.
  2. Wenn row 1 der angezeigten Daten dann row 1 der Spalte geklickt wird C und D werden als Popup angezeigt, die close Taste hat. Und dies geht ähnlich weiter, wenn andere Zeilen angezeigt werden.

Antwort

2

Versuchen wir, dies zum Server-Code hinzuzufügen. Im Wesentlichen wird ein modales Dialogfeld ausgelöst, wenn Sie eine bestimmte Zeile auswählen und den Rest der Daten anzeigen.

require(dplyr) 

#Here's our table: 
tbl <- data.frame(A= c('A1','A2'), 
      B= c('B1','B2'), 
      C = c('C1','C2'), 
      D = c('D1','D2')) 

#The dt output code 
output$my_table <- renderDataTable({ 
     datatable(tbl %>% select(A,B),selection='single') 
}) 

#reactive table based on the selected row 
tbl_reactive <- reactive({ 
     tbl[as.numeric(input$my_table_rows_selected[1]),] 
}) 

#here's the table displayed in our modal 
output$modal_table <- renderDataTable({ 
     tbl_reactive() 
}) 

#our modal dialog box 
    myModal <- function(failed=FALSE){ 
     modalDialog(
    dataTableOutput('modal_table'), 
     easyClose = TRUE 

     ) 
    } 

#event to trigger the modal box to appear 
observeEvent(input$my_table_rows_selected,{ 

    showModal(myModal()) 

}) 
+0

Danke für die Lösung !!! Der Code funktioniert teilweise, so als ob ich beim Öffnen der App nur 'col A' und 'col B' sehen kann und auf ein Popup-Fenster klickst. All diese funktionieren genau so, wie ich es wollte. Aber innerhalb des Popups gibt es keine Daten von "Col C" und "Col D". Irgendwelche Bibliotheken, die ich anrufen muss? – Tareva

+0

Danke, es funktioniert gut Die Probleme waren dort war ein unerwünschter Speicherplatz in 'dataTableOutput ('modal_table')'. – Tareva

Verwandte Themen