2014-02-20 6 views
12

Я нашел, как изменить цвет фона пользовательского интерфейса в блестящем. Я обнаружил, что он также окрашивает фон таблиц, которые я показываю с tableOutput. Здесь я показываю фиктивный пример.R Shiny: Как изменить цвет фона таблицы

ui.R

shinyUI (pageWithSidebar (
headerPanel ("пустышки"),
sidebarPanel ( теги $ час()),

mainPanel (

# This is what I use to change the background color 
list(tags$head(tags$style("body {background-color: #ADD8E6; }"))), 

tableOutput("dummy") ))) 

сервер.R

shinyServer (функция (вход, выход) {выход $ фиктивная < - renderTable ({ data.frame (А = 1: 4, В = 2: 5, С = Rep ("ааа", 4)) })})

что я получаю это

enter image description here

и то, что я хотел бы получить (я использовал GIMP, чтобы воссоздать его) является

enter image description here

Спасибо всем за вашу помощь!

ответ

12

Решение было дано на shiny google group:

runApp(
    list(ui = bootstrapPage(pageWithSidebar(
    headerPanel("Rummy"), 
    sidebarPanel(tags$hr()), 

    mainPanel(

     tableOutput("dummy"), 
     # change style:  
     tags$head(tags$style("#dummy table {background-color: red; }", media="screen", type="text/css")) 
    ) 

) 
) 

    , 
    server = function(input, output) { 
    output$dummy <- renderTable({ data.frame(A=1:4,B=2:5,C=rep("aaa",4)) }) 
    } 

) 
) 

Я также приглашаю вас прочитать эту дискуссию на блестящей группы Google, которая показывает, как использовать потворствовать пакет для создания HTML-таблицы и вставки их в блестящем приложении. Это позволяет более гибко управлять стилем.

+1

Хороший подход, но он заполняет все пространство справа от стола красным цветом. Любое решение, которое адаптируется к ширине таблицы? – Rufo

+1

@ Rufo Хороший вопрос. Я не смог добавить стиль в таблицу только с помощью jQuery, я не понимаю, почему он не работает. –

+1

@Rufo Я изменил свой ответ сейчас. –

Смежные вопросы