2017-09-27 2 views
0

Ich führe einen R-Code. Ich habe das textareaInput dynamisch angezeigt. Aber ich habe ein Problem bei der Positionierung.Lokalisieren Sie den TextareaInput Seite an Seite (3 Spalten) an der erforderlichen Position mit R

Der Ausgang was ich habe ist: Desired Output

Der Ausgang I expected ist jeweils die textareaInput unterhalb der aktuellen Woche, nächste Woche und nächsten 2 Wochen anzuzeigen.

Der R Code:

observeEvent(input$view,{ 
output$inputGroup = renderUI({ 
    input_list <- lapply(1:(nrow(df())*3), function(i) { 
    # for each dynamically generated input, give a different name 
    inputName <- paste("input", i, sep = "") 
    textInputRow<-function (inputId,value) 
    { 
     div(style="display:inline-block", 
      textAreaInput(inputName,"", width = "200px", height = "40px") 
    ) 
    } 

    column(4, 
    textInputRow(inputName, "")) 

    }) 
    do.call(tagList, input_list) 
}) 

mir jemand mit diesem Code helfen?

+0

Versuchen Sie bitte, ein vollständig reproduzierbares Beispiel zu erstellen. Außerdem sieht das wie glänzend aus, also solltest du das im Titel und den Tags wahrscheinlich erwähnen. – Spacedman

+0

Probieren Sie 'fluidRow' und' column' – SBista

+0

Verwenden Sie ** fluidRow ** produziert die Ausgabe in einer Spalte @SBista –

Antwort

0

weiter zu meinem Kommentar sorgfältig ausarbeiten, mit fluidRow und column I-Code eine Probe unten bin Entsendung:

ui <- fluidPage(
    fluidRow(
     column(3, h3("Total Time Spent:")), 
     column(3, numericInput("num1", "Current Week:", value = 1)), 
     column(3, numericInput("num2", "Next Week:", value = 1)), 
     column(3, numericInput("num3", "Next 2 Week:", value = 1)) 

    ), 
    fluidRow(
     column(3), 
     column(9,uiOutput("inputGroup")) 
    ) 

    ) 



    server <- function(input,output){ 

    output$inputGroup = renderUI({ 
     input_list <- lapply(1:9, function(i) { 
     # for each dynamically generated input, give a different name 
     inputName <- paste("input", i, sep = "") 
     textInputRow<-function (inputId,value) 
     { 
      div(style="display:inline-block", 
       textAreaInput(inputName,"", width = "200px", height = "40px") 
      ) 
     } 

     column(4, 
       textInputRow(inputName, "")) 

     }) 
     do.call(tagList, input_list) 
    }) 

    } 


    shinyApp(ui, server) 

Dieser Code erzeugt die Ausgabe wie folgt:

enter image description here

Hoffe, es hilft!

+0

** Danke **. Es hat mir sehr geholfen. :-) –

+0

Könnten Sie die Antwort (https://stackoverflow.com/help/someone-answers) akzeptieren, wenn es Ihnen geholfen hat? – SBista