Довольно новичок в R - нормально работать с большими изображениями и изо всех сил стараться очистить края, когда я хочу что-то представить другим людям.
Удар головой о стену чем-то, вероятно, довольно простым - я просто хочу добавить границы ячеек - ко всем ячейкам - в таблице данных в блестящем приложении. Вот соответствующий фрагмент кода:
library(ggplot2)
library(shiny)
library(data.table)
library(DT)
library(plotly)
setwd("C:/Users/Will/Desktop/FinalPages")
lister <- read.table("PlayerList.csv", header=TRUE, quote = "", sep = ",",fill = TRUE)
totals <- read.table("TotShooting.csv", header=TRUE, quote = "", sep = ",",fill = TRUE)
items <- as.character(lister[[1]])
ui <- fluidPage(
sidebarLayout(
sidebarPanel(selectizeInput("players", "Player:", choices = items, multiple = FALSE),
width=2
),
mainPanel(h5("Total Shooting", align = "center"),
div(dataTableOutput("tot"), style = "font-size:80%", class = 'table-condensed cell-border row-border'),
position = "center",
width = 10)
)
)
server <- function(input, output) {
output$tot <- DT::renderDataTable({
validate(
need(input$players, ' ')
)
filterone <- subset(totals, Name == input$players)
filterone <- filterone[,-1:-2]
DT::datatable(filterone,
rownames = FALSE,
options=list(iDisplayLength=7,
bPaginate=FALSE,
bLengthChange=FALSE,
bFilter=FALSE,
bInfo=FALSE,
rowid = FALSE,
autoWidth = FALSE,
ordering = FALSE,
scrollX = TRUE,
borders = TRUE,
columnDefs = list(list(className = 'dt-center', targets = "_all"))
))
}
)
Я пытался отследить это через Google, но не смог найти решение, с которым я мог бы работать. Вероятно, это что-то очень простое с тегами или правильным именем класса (по крайней мере, я на это надеюсь), но я потерялся здесь. Благодарю за любую помощь, которую я могу получить.






Функция, которую вы ищете: formatStyle("your DT table", "vector of column index", border = '1px solid #ddd').
Здесь вы можете найти воспроизводимый пример:
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
DT::dataTableOutput("test")
),
server = function(input, output, session) {
output$test <- DT::renderDataTable({
datatable(mtcars) %>%
formatStyle(c(1:dim(mtcars)[2]), border = '1px solid #ddd')
})
})
Должны быть более изящные способы, но они работают!