0
これは、列(列3)を選択し、特定の方法で100を超える値を強調表示し、特定の方法で200を超える値を強調表示する方法を示す例です。renderDataTableの色選択済みの行
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[3]) >= 200)
$("td:eq(3)", nRow).css("font-weight", "bold");
if (parseFloat(aData[3]) >= 100)
$("td:eq(3)", nRow).css("background-color", "#9BF59B");
}')
)
)
})
}
)
私はちょうど列ではなく列を選択する方法を探しています。たとえば、行3、9、11、13を選択し、これらの行を黄色に色分けします。これを達成するために上のコードをどのように変更するかについての助けがあれば、大歓迎です。前もって感謝します。
をaData'がデータフレームである 'のように見えます。 'aData [c(3,9,11,13)、]'を参照できない理由はありますか? – Warner
@Warner、あなたは正しい 'aData'はデータフレームです、私はあなたが提案したことをしました、私は出力を見ていないか、私はエラーが表示されなかった、私は次の行を変更する必要があると思う' $ "td:eq(3)"、nRow)..... "しかし、どうしたらいいのか? – Science11
@ Science11、私の例を見てくださいhttp://stackoverflow.com/questions/38565033/use-backgroundcolor-in-dt-package-to-change-a-complete-row-instead-of-a-single- v/38565223#38565223 –