简体   繁体   English

如何获取所选行中的单元格值(闪亮的DT库)

[英]How get the value of a cell in a selected row (shiny DT library)

i trying print the value of a cell in selected row. 我尝试在所选行中打印单元格的值。

This is datatanle code in ui.R 这是ui.R datatanle代码

body <- dashboardBody(
    tabItems(#Contenido de las pestañas
        tabItem(#Pestaña para consultas
            tabName = "consulta",
            DT::dataTableOutput("tablaConsulta"),
            textOutput("consultaSelecionada")
        )
)

And this the code in server.R 这是server.R中的代码

output$tablaConsulta <- DT::renderDataTable({#Tabla consultas
    library(RODBC)
    nombre_data <- "consulta.rds"##Nombre archivo
    if(file.exists(nombre_data)){##Si existe el archivo
        consulta<- readRDS(nombre_data)## Recojemos los datos desde el archivo
    }else{##Si no existe el archivo
        # Nos conectamos a la base de datos
        conn <- odbcConnect("ORAC11.ORACLE11G", uid="l21", pwd="l21", rows_at_time = 500, believeNRows=FALSE)
        sql <- "select COCODIGO, COTEXTO,COCOSE,COCOPS,COFECHA from L2113T00"
        #Ejecutamos la query
        consulta <- sqlQuery(conn,sql) 
        close(conn)
        #La guardamos en el archivo
        saveRDS(consulta,nombre_data)
    }
})

This code output "consultas" datatable, its fine. 这段代码输出“consultas”数据表,很好。 The problem, i need print "COCODIGO" in textOuput. 问题是,我需要在textOuput中打印“COCODIGO”。

I try do this: 我试着这样做:

output$consultaSelecionada <- renderPrint({
    s = input$tablaConsulta_rows_selected
    cat("Consultas selecionadas")
    cat(s,sep=", ")
})

This print the selected row number, i need print the selected row "COCODIGO" value. 这打印所选行号,我需要打印所选行“COCODIGO”值。

How i can do that? 我怎么能这样做?

You need to take the creation of the table outside the rendering function. 您需要在渲染功能之外创建表。 Doing so will improve both rendering time and maintainability. 这样做可以改善渲染时间和可维护性。
It will also let the consulta object available in the (shiny's) global environment. 它还将在(闪亮的)全球环境中提供consulta对象。
Do you can then use it to subset: 然后你可以用它来分组:

server.R server.R

library(shiny)
library(DT)
library(RODBC)

function(input, output) {

    nombre_data <- "consulta.rds"##Nombre archivo

    if(file.exists(nombre_data)){ ##Si existe el archivo
        consulta<- readRDS(nombre_data) ## Recojemos los datos desde el archivo
          } else { ##Si no existe el archivo
          # Nos conectamos a la base de datos
          conn <- odbcConnect("ORAC11.ORACLE11G", 
                              uid="l21", 
                              pwd="l21", 
                              rows_at_time = 500, 
                              believeNRows=FALSE)
        sql <- "select COCODIGO, COTEXTO,COCOSE,COCOPS,COFECHA from L2113T00"
        #Ejecutamos la query
        consulta <- sqlQuery(conn,sql, stringsAsFactor = F) 
        close(conn)
        #La guardamos en el archivo
        saveRDS(consulta,nombre_data)
    }

    output$tablaConsulta <- DT::renderDataTable({consulta


    })

    output$consultaSelecionada <- renderText({
        s = input$tablaConsulta_rows_selected
        consulta[s, 'COCODIGO']
    })
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用DT获取选定的行值而不是闪亮的数字 - Get selected row value instead of number in shiny using DT 在Shiny DT中单击单元格旁边获取单元格值 - Get cell value next to clicked cell in Shiny DT Select 一个 DT 行,然后根据 shiny 应用程序中的小部件选择输入和 actionButton() 更改此行的一个单元格的值 - Select a DT row and then change the value of one cell of this row based on widget selection input and actionButton() in a shiny app 获取从 Dt 表中选择的行闪亮 - Get rows selected from Dt table shiny 如何根据选择的 DT 行更新 numericInput 默认值 - How to update numericInput default value based on DT row selected 闪亮的DT-使用按钮在选定的行之后选择行 - Shiny DT - Select row after selected row by using a button 如何根据R Shiny DT中的模式突出显示一行中相邻单元格的串,每个单元格包含单个字符 - How to highlight bunch of adjacent cells in a row containing single character per cell based on a pattern in R Shiny DT 闪亮:从DT数据表中的选定行获取信息 - Shiny: Getting info from the selected row in a DT data table R DT Shiny KeyTable select 单元格/行与 Enter - R DT Shiny KeyTable select cell/row with Enter shiny DT,更新值后更改单元格颜色,不被选择覆盖 - shiny DT, change cell color after updated value, not overwritten by selection
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM