formatstyle - r datatable extension
R tamaƱo de la caja de filtro datatable para estrechar para ver el texto (2)
Resolví este problema usando CSS:
input {
width: 100px !important;
}
También puede aplicar este estilo solo a filtros de factor
:
td[data-type="factor"] input {
width: 100px !important;
}
Coloque el archivo my.css
en el subdirectorio www
y vincule a él:
shinyApp(
ui = fluidPage(
tags$head(
tags$link(
rel = "stylesheet",
type = "text/css",
href = "my.css")
),
DT::dataTableOutput(...)
)
Estoy construyendo un tablero brillante R y cuando coloco mis datos en una tabla usando el paquete DT y renderdatatable (). En la parte superior de cada columna, tengo filtros, el cuadro de búsqueda es demasiado estrecho para ver el texto y seleccionar una opción. Aquí hay una imagen:
¿Alguien sabe de una manera de aumentar el ancho?
Aquí está mi código para el código de tabla de datos en el servidor.r:
output$table <- DT::renderDataTable(DT::datatable({
data <- rv$data
if (input$sour != "All") {
data <- data[data[,1] == input$sour,]
}else{data}
if (input$sour1 != "All") {
data <-data[data[,2] == input$sour1,]
}else{data}
if (input$tran != "All") {
data <-data[data[,3] == input$tran,]
}else{data}
},filter=''top''))
aquí está el código en el ui.r:
tabItem(tabName = "ResultsTable",
fluidPage(
headerPanel(
h1("List", align="center", style = "font-family: ''Verdana'';font-weight: 800; line-height: 1.1; color: #151515;")),
# fluidRow(
# column(8, DT::dataTableOutput("table",width = "100%"),offset = 2)))),
# # Create a new Row in the UI for selectInputs
fluidRow(
column(4,
selectInput("sour",
"Name:",
c("All",
unique(as.character(df[,1]))))
),
column(4,
selectInput("sour1",
"Number:",
c("All",
unique(as.character(df[,2]))))
),
column(4,
selectInput("tran",
"Code:",
c("All",
unique(as.character(df[,3])))))),
# Create a new row for the table.
fluidRow(column(11, DT::dataTableOutput("table",width = "95%")))))
Intenté esto, pero no funcionó:
output$table <- DT::renderDataTable(DT::datatable({
data <- rv$data
if (input$sour != "All") {
data <- data[data[,1] == input$sour,]
}else{data}
if (input$sour1 != "All") {
data <-data[data[,2] == input$sour1,]
}else{data}
if (input$tran != "All") {
data <-data[data[,3] == input$tran,]
}else{data}
},filter=''top'',options = list(
autoWidth = TRUE,
columnDefs = list(list(width = ''200px'', targets = "_all"))
)))
Una pregunta similar fue respondida aquí.
Además, para usar los controles deslizantes de rango para filtrar filas dentro de los rangos , considere convertir la columna "Lista de fechas" al formato de fecha usando as.Date()
.