DT ライブラリのオプションで、リアクティブな値を rowCallback に渡したいです。以下の例を参照してください。これを光沢のあるランタイムのフレックスダッシュボードで使用しています。
設定
---
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 .Working.
### 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')
```
リアクティブ値を持つテーブル、cutoff = 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");
}')))
})
```