2016-12-13 28 views
1

我想将反应值传递到DT库的选项中的rowCallback。请看下面的例子。我在带有闪亮运行时的flexdashboard中使用它。将闪亮的无效()值传递到DT的javascript部分

设置

--- 
title: "Untitled" 
output: 
    flexdashboard::flex_dashboard: 
    orientation: columns 
    vertical_layout: fill 
    horizontal_layout: fill 
runtime: shiny  
--- 

```{r setup, include=FALSE} 
library(flexdashboard) 
library(DT) 
library(shiny) 
library(shinyjs) 
``` 

Column 
----------------------------------------------------------------------- 

表与静态值,截留值= 4。工作。

### Chart A 

```{r,eval=T} 
output$mtcarsTable1 <- renderDataTable({ 
     DT::datatable(datasets::mtcars, 
     options = list(pageLength = 5, 
         searching= FALSE, 
         lengthChange = FALSE, 
         ordering=FALSE, 
         rowCallback = JS(' 
      function(nRow, aData, iDisplayIndex, iDisplayIndexFull,cutoff=4) { 
             // Bold and green cells for conditions 
             if (parseFloat(aData[10]) >= cutoff) 
             $("td:eq(4)", nRow).css("font-weight", "bold"); 
             }'))) 
    }) 
dataTableOutput('mtcarsTable1') 

``` 

表具有反应性价值,截留值= gearvalue(),不工作。

### Conditional Bold 

```{r} 
fillCol(flex = c(1, 6), 
     radioButtons("gearvalue","Sensitivity to gear column", c("4" = "4", "3" = "3"), inline=T), 
    dataTableOutput('mtcarsTable2'), 
    width = "100%") 
``` 


```{r,eval=T} 
output$mtcarsTable2 <- renderDataTable({ 
     DT::datatable(datasets::mtcars, 
     options = list(pageLength = 5, 
         searching= FALSE, 
         lengthChange = FALSE, 
         ordering=FALSE, 
         rowCallback = JS(' 
      function(nRow, aData, iDisplayIndex, iDisplayIndexFull,cutoff=gearvalue()) { 
             // Bold and green cells for conditions 
             if (parseFloat(aData[10]) >= cutoff) 
             $("td:eq(4)", nRow).css("font-weight", "bold"); 
             }'))) 
    }) 
``` 

回答