Javascript 将JS回调函数合并到RShiny DT::renderdatatable选项中

Javascript 将JS回调函数合并到RShiny DT::renderdatatable选项中,javascript,shiny,dt,Javascript,Shiny,Dt,我正在构建一个闪亮的应用程序,并利用DTedit库允许用户在线编辑UI中的数据表。这很好,但我想向表中添加一些附加格式(使某些列显示为百分比,使其他列显示为美元金额)。问题是DTedit函数的输出是一个渲染输出对象(它希望直接传递到UI-我不能对其执行任何粘贴或sapply操作) 唯一的好处是,我可以在呈现输出之前将dataframe options参数传递给DTEdit函数,这包括传递JS回调的功能。大概是这样的: datatable(head(iris, 20), options = lis

我正在构建一个闪亮的应用程序,并利用DTedit库允许用户在线编辑UI中的数据表。这很好,但我想向表中添加一些附加格式(使某些列显示为百分比,使其他列显示为美元金额)。问题是DTedit函数的输出是一个渲染输出对象(它希望直接传递到UI-我不能对其执行任何粘贴或sapply操作)

唯一的好处是,我可以在呈现输出之前将dataframe options参数传递给DTEdit函数,这包括传递JS回调的功能。大概是这样的:

datatable(head(iris, 20), options = list(
  initComplete = JS(
    "function(settings, json) {",
    "$(this.api().table().header()).css({'background-color': '#000', 'color': '#fff'});",
    "}")
))
上面的示例显示将标题的背景颜色更改为黑色,但正如我所提到的,我对将多个列格式化为百分比/美元金额感兴趣


这一切都很好,但唯一的问题是我对JS一无所知!我正在寻找关于构建正确的JS回调以格式化数据表的指导-提前感谢

恐怕我也不懂Javascript,但我知道足够多的
R
修改了
DTedit
,允许使用
DT
format*()
函数进行格式化

DTedit
的修改版本,引用为

A,下面使用
mtcars
数据集再现示例代码

库(DTedit)
库(magrittr)#提供管道“>%”运算符
服务器%
formatSignif('qsec',2)%>%
格式货币('mpg')%>%
格式样式(
"共青团",,
颜色='红色',背景颜色='橙色',字体重量='粗体'
)
#注意,这些都不是mtcars数据的正确格式!
#但用于演示格式
}
)
}

ui您研究过DT包中的
格式*
函数了吗?