2014-11-12 17 views
6

Ben Datatable FixedColumns eklentiyi kullanan parlak uygulama oluşturmak çalışıyorum:R: Shiny FixedColumns javascript'i nasıl düzenlersiniz?

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

kullanıyorum datasest yaklaşık 100 sütunlar bulunur ve ilk beş sütun düzeltmek ve kullanıcıyı izin vermek istediğiniz Diğerleri arasında gezin.

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 
    }); 
}); 

Geçmişte ben javascript seçenekleri eklemek için I() kullanmak mümkün olmuştur javascript ama bilmiyorum: örneklerden ben bu javascript kullanmanız gerekir benziyor . Bu sefer, başka bir şey yapmam gerekiyor gibi görünüyor. Aşağıdaki kod çalıştı ve mesajı aldığınızı: "HATA:.. 'Seçenekleri' 'adlandırılmış listesi olmalıdır

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

aynı sorunu/soruyu oldu ben net bulamadım Şimdiye kadar herhangi bir yerde nasıl/nasıl yapılacağının açıklaması. – numbercruncher

cevap

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); 
     }); 
')))