2017-07-21 16 views
0

私は、表示されたデータや前の行の同じセルの値に基づいてセルの属性を変更したい光沢のあるアプリケーションを持っています。前の行に基づいてR DT :: datatableのセルを変更します

私のコードでは、rowCallbackのdata [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'); 
        } 
        }" 
        ) 
       ) 
    ) 

コールバック関数の1つを使用して前の行の同じセルの値に基づいてdata [0]セルの変更を行うことはできますか?

+0

わからないを使用..しかし、あなたは...特定の値のインデックスを取得して何かをしようとし、このインデックス値を置くことができます-1と設定しています属性 – zwep

+0

こんにちは@zwep ....私はrowCallbackに渡された行のインデックスを使いこなしていますが、それを得ることはできません。 – Martyn

答えて

0

は、だから私はタックを変更し、次の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; 
       }); 
      }" 
      ) 
関連する問題