[英]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: 然后你可以用它来分组:
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.