2016-10-24 15 views
0

を隠すDT光沢のあるRツールチップとカラム

私のコード(githubのからの例)は以下の通りです:

library("shiny") 
library("shinydashboard") 
library("datasets") 
library("DT") 

header <- dashboardHeader() 

sidebar <- dashboardSidebar() 

body <- dashboardBody(
    DT::dataTableOutput("mtcarsTable") 
) 

shinyApp(
    ui = dashboardPage(header, sidebar, body), 
    server = function(input, output) { 

    output$mtcarsTable <- renderDataTable({ 
     DT::datatable(datasets::mtcars, 
        options = list(rowCallback = JS(' 
                function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 
                // Bold and green cells for conditions 
                if (parseFloat(aData[4]) >= 200) 
                $("td:eq(3)", nRow).css("font-weight", "bold"); 
                if (parseFloat(aData[4]) >= 100) 
                $("td:eq(3)", nRow).css("background-color", "#9BF59B"); 
                }') 
        ) 
        ) 
    }) 
    } 
        ) 

として、私は太字であるべきかどうかを定義するために、背景色をセルに与えるために、列4を評価しているのを見ることができます。

列4を非表示にすることはできますか?私はただそれを評価したい、私はそれが表示されることを望んでいない。

私の他の質問は、緑の背景のセルにのみツールチップを追加することが可能な場合ですか?私はコールバックを使うべきであることを知っていましたが、私はどのように私はjavascriptの専門家ではないのか分かりません。

ありがとうございます!

+0

列4を非表示にするには、 'datasets :: mtcars'の代わりに' datasets :: mtcars [、 - 3] 'を使用できます。 – SBista

答えて

0

はい緑色の背景のセルにのみツールチップを追加することは可能です。

DT::datatable(datasets::mtcars, 
       options = list(rowCallback = JS(
       "function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {", 
       "// Bold and green cells for conditions", 
       "if (parseFloat(aData[4]) >= 200)", 
       "$('td:eq(3)', nRow).css('font-weight', 'bold');", 
       "if (parseFloat(aData[4]) >= 100){", 
       "$('td:eq(3)', nRow).css('background-color', '#9BF59B');", 
       "var full_text = aData[3]", 
       "$('td:eq(3)', nRow).attr('title', full_text);", 
       "}", 
       "}") 
      ) 
) 

[EDIT]::私たちは、下のJavaScriptを使用する必要が

は、私はいくつかのより多くの行を追加したツールチップにformattingsを追加するには、それが唯一のshinyAppで動作し、データテーブルDTません。以下のコードを参照してください:

header <- dashboardHeader() 

sidebar <- dashboardSidebar() 

body <- dashboardBody(
    DT::dataTableOutput("mtcarsTable") 
) 

shinyApp(
    ui = dashboardPage(header, sidebar, body), 
    server = function(input, output) { 

    output$mtcarsTable <- renderDataTable({ 
     DT::datatable(datasets::mtcars, 
        options = list(rowCallback = JS(
         "function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {", 
         "// Bold and green cells for conditions", 
         "if (parseFloat(aData[4]) >= 200)", 
         "$('td:eq(3)', nRow).css('font-weight', 'bold');", 
         "if (parseFloat(aData[4]) >= 100){", 
         "$('td:eq(3)', nRow).css('background-color', '#9BF59B');", 
         "var full_text = aData[3]", 
         "$('td:eq(3)', nRow).attr('title', full_text);", 
         "//Code for formatting tooltip", 
         "$('td:eq(3)', nRow).tooltip({", 
         "'delay': 0,", 
         "'track': true,", 
         "'fade': 250,", 
         "});", 


         "}", 
         "}") 
        ) 
    ) 

    }) 
    } 
) 

希望します。

+0

@SBiastaツールチップボックスを編集する方法はありますか? – hsilva

+0

ツールチップのテキストを編集しますか?これを行うには、 'var full_text = aData [3]'を 'var full_text = 'に変更することができます。 – SBista

+0

@SBiastaいいえ、私はウィンドウを意味します。サイズ、色などを編集できますか?これに関するドキュメントはありますか? – hsilva

関連する問題