Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 DT::datatable中的单元格_R_Datatable_Callback_Shiny - Fatal编程技术网

基于上一行修改R DT::datatable中的单元格

基于上一行修改R DT::datatable中的单元格,r,datatable,callback,shiny,R,Datatable,Callback,Shiny,我有一个闪亮的应用程序,我想根据前一行中同一单元格的值修改显示的数据和/或单元格的属性 在我的代码中,我已经根据rowCallback中数据[0]的值格式化了整行 output$result <- DT::renderDataTable(tabledata(), class = c('compact'), rownames = FALSE, server = FALSE, escape = TRUE, extensions = options = l

我有一个闪亮的应用程序,我想根据前一行中同一单元格的值修改显示的数据和/或单元格的属性

在我的代码中,我已经根据rowCallback中数据[0]的值格式化了整行

output$result <- DT::renderDataTable(tabledata(),
    class = c('compact'),
    rownames = FALSE,
    server = FALSE,
    escape = TRUE,
    extensions = options = list(
                  rowCallback=JS("
                    function (row, data, index) {
                      var string=data[1], substring = 'sub total';
                     if (data[0]=='Grand Total') {
                       $(row).css('background-color', '#DEDEDE'), $(row).css('font-weight', 'bold') ;
                     }
                     else if (data[0].includes('sub total')) {
                       $(row).css('font-weight', 'bold');
                     }
                     }"
                   )
                  )
    )

output$result所以我改变了策略并使用了下面的drawCallback调用

drawCallback=JS(" function ( settings ) {
           var api = this.api();
           var mydata = api.rows( {page:'current'} ).data();
           var last=null;
           api.column(0,{page:'current'}).data().each( function ( value, index ) {
               if ( value == last) {
                   mydata[index][0] = ''
                   api.rows({ page: 'current' }).invalidate();
                   }
               last=value;
               });
            }"
            )

不确定。。但是你可以尝试得到某个值的索引。。然后把这个索引值-1设置为attributeHi@zwep。。。。我一直在反复研究传递给rowCallback的行的索引,但不能完全得到它。你有没有可能扩展这个答案?你最初的问题正是我想要的,但我不完全确定这是如何解决的。