2016-07-14 2 views
-1

У меня проблема с функцией DT :: renderDatatable, может быть, кто-то может помочь. Я пытаюсь отобразить таблицу data.table в блестящем приложении, и он показывает только первые 9 из 14 столбцов. Когда я печатаю DT на консоли, он отлично работает.Столбцы из datatable исчезают в блестящем приложении

# load and render 
    observeEvent(input$btLoadUserRules, { 
    # get data.frame with user rules 
    df.temp1 <- oFormUserRules$getAllUserRules() 
    # convert to data.table 
    dt.temp2 <- data.table(df.temp1) 


    output$tbl_tab2_1 <- DT::renderDataTable(dt.temp2, 
              options = list(paging = FALSE, searching = FALSE)) 

Спасибо!

Мари

+0

Что произойдет, если вы добавите 'print (ncol (dt.temp2))' в 'observEvent'? Вы получаете 9 или 14 в консоли? – Carl

+0

Проблема решена. Дело не в том, что не все столбцы отображаются, но они были увеличены, поэтому некоторые столбцы больше не были видны. Я не заметил этого, потому что невозможно прокручивать, поэтому единственный способ правильно его просмотреть - уменьшить масштаб. Спасибо всем! – mariego

+0

где пример? – jangorecki

ответ

1

Лично мне не нравится то, что вы делаете в observeEvent, как вы когда-нибудь делать небольшие вещи в observe заявлении. Возможно, эта альтернатива будет работать?

dt.temp2 <- eventReactive(input$btLoadUserRules, { 
     # get data.frame with user rules 
     return(as.data.table(oFormUserRules$getAllUserRules()))) 
output$tbl_tab2_1 <- DT::renderDataTable(dt.temp2(),options = list(paging = FALSE, searching = FALSE))) 
+0

спасибо, он уже работает сейчас, как я только что прокомментировал выше. все-таки я рассмотрю ваш код, чтобы сделать мой лучше. – mariego

+0

вы можете столкнуться с проблемами, если используете «наблюдать» таким образом, чтобы лучше использовать выражения «реактивный» :) счастливое кодирование –