2016-10-24 9 views
1

Как я могу получить текст наведения мыши для всех ячеек таблицы (не для имен столбцов). У меня есть datatable с 3 столбцами. При наведении курсора на ячейку третьего столбца необходимо отобразить объединенное содержимое 1-го и 2-го столбцов этой конкретной строки. Я попытался изучить пакет DT для достижения того же, но без успеха. Все советы или у нас есть библиотека, которая поддерживает зависание столы.R блестящая подсказка для всех ячеек таблицы

+0

Это даст вам некоторые идеи http://stackoverflow.com/questions/39970097/tooltip-or-popover-in-shiny-datatables-for-row-names –

ответ

1

Для этого вам необходимо использовать rowCallback. Вот простой пример того, чего вы хотите достичь:

library(shiny) 

shinyApp(
    ui = fluidPage(
    DT::dataTableOutput("mtcarsTable") 
    ), 
    server = function(input, output) { 

    output$mtcarsTable <- DT::renderDataTable({ 
     DT::datatable(datasets::mtcars[,1:3], 
        options = list(rowCallback = JS(
         "function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {", 
         "var full_text = aData[0] + ','+ aData[1] + ',' + aData[2] + ','+ aData[3];", 
         "$('td:eq(3)', nRow).attr('title', full_text);", 
              "}") 
        ) 
    ) 

    }) 
    } 
) 

Надеюсь, это поможет!

+0

Спасибо @SBista. Я могу добиться этого несколько дней назад с аналогичным подходом. Следуя быстрому решению, мне также нужно изменить курсор _mouse cursor_ на ** указатель **, когда пользователь навешивает ячейки ячеек третьей колонки. Какие-нибудь советы. – string

+0

Способный достичь этого с помощью CSS - ** "$ ('td: eq (5)', nRow) .css ('cursor', 'pointer');", ** – string

+0

@SBista: есть ли способ сделать это для каждого столбца? Это же сообщение? Например, я хотел сделать это для всей строки? – user1357015