2014-11-12 13 views
6

Staram się budować błyszczącą aplikację, która korzysta z DataTable FixedColumns wtyczki:R: Jak zainicjować datatables FixedColumns javascript w Shiny?

https://datatables.net/extensions/fixedcolumns/

datasest Używam będzie miał około 100 kolumn i chcę naprawić pierwsze pięć kolumn i pozwalają użytkownikowi przewijaj resztę. Z przykładów wygląda na to, że muszę użyć tego javascript:

https://datatables.net/release-datatables/extensions/FixedColumns/examples/two_columns.html

$(document).ready(function() { 
    var table = $('#example').DataTable({ 
     scrollY:  "300px", 
     scrollX:  true, 
     scrollCollapse: true, 
     paging:   false 
    }); 
    new $.fn.dataTable.FixedColumns(table, { 
     leftColumns: 2 
    }); 
}); 

nie wiem javascript ale w przeszłości byłem w stanie wykorzystać I(), aby wstawić opcje javascript . Tym razem jednak wygląda na to, że muszę zrobić coś innego. Próbowałem poniższy kod i pojawia się komunikat: „Błąd:..«Opcje»musi być nazwany lista”

library(shiny) 
library(ggplot2) 
data(diamonds) 
hw <- diamonds 

runApp(
    list(ui=(
    fluidPage(
     tabsetPanel(
     id = 'dataset', 
     tabPanel('hw', dataTableOutput('mytable1')) 
    ))), 

    server = (function(input, output, session) { 
     output$mytable1 <- renderDataTable(
     head(hw, 50), 
     options = list(scrollY = '300px', 
         scrollX = TRUE, 
         scrollCollapse = TRUE, 
         paging = FALSE, 

         I("new $.fn.dataTable.FixedColumns(table, { 
         leftColumns: 5 
         });") 
         )) 


    }) 

)) 
+0

miałem ten sam problem/pytanie nie znalazłem wyraźna wyjaśnienie jak to zrobić/przykład gdziekolwiek do tej pory. – numbercruncher

Odpowiedz

0
list(tags$head(tags$script('type = "text/javascript"', ' 
     $(document).ready(function() { 
      var table = $("#example").DataTable({ 
       "scrollY": "300px", 
       "scrollX": "100%", 
       "scrollCollapse": true, 
       "paging": false 
      }); 
      new $.fn.dataTable.FixedColumns(table); 
     }); 
'))) 
Powiązane problemy