Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何在javascript中初始化datatables FixedColumns?_Javascript_R_Datatables_Shiny - Fatal编程技术网

R:如何在javascript中初始化datatables FixedColumns?

R:如何在javascript中初始化datatables FixedColumns?,javascript,r,datatables,shiny,Javascript,R,Datatables,Shiny,我正在尝试构建一个使用datatable FixedColumns插件的闪亮应用程序: 我正在使用的DataSet将有大约100列,我希望修复前五列,并允许用户滚动其余的列。从示例来看,我需要使用以下javascript: 我不知道javascript,但在过去我可以使用I()插入javascript选项。不过这次看来我需要做点别的。我尝试了下面的代码并得到了消息:“错误:'选项'必须是一个命名列表'” library(shiny) library(ggplot2) data(diamond

我正在尝试构建一个使用datatable FixedColumns插件的闪亮应用程序:

我正在使用的DataSet将有大约100列,我希望修复前五列,并允许用户滚动其余的列。从示例来看,我需要使用以下javascript:

我不知道javascript,但在过去我可以使用I()插入javascript选项。不过这次看来我需要做点别的。我尝试了下面的代码并得到了消息:“错误:'选项'必须是一个命名列表'”

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


    })

  ))
库(闪亮)
图书馆(GG2)
数据(钻石)

hw如果最近有人遇到这个问题,您现在可以直接使用FixedColumns扩展,而无需任何javascript:


我也遇到过同样的问题。到目前为止,我还没有找到一个关于如何做这个/例子的清晰解释。
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
                        } );")
                       ))


    })

  ))
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 );
        } );
')))
m = as.data.frame(round(matrix(rnorm(100), 5), 5))
datatable(
  m, extensions = 'FixedColumns',
  options = list(
    dom = 't',
    scrollX = TRUE,
    fixedColumns = TRUE
  )
)