DT :: datatables () генерирует HTML-таблицу показывает аномалии отображения (пропущенные символы) при использовании поиска на уровне столбца - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь поместить интерактивные сортируемые таблицы в html-сводки, созданные с помощью rmarkdown :: render из R-скрипта.Для создания таблиц я использую datatables () из пакета DT.Отчеты генерируются хорошо, а таблицы выглядят довольно хорошо, пока вы не выполните фильтр / поиск на уровне столбцов, после чего на дисплее появятся некоторые забавные проблемы.Мой вопрос станет понятнее со следующим примером.

#' ---
#' title: "Test"
#' author: test
#' output: 
#'   html_document:
#'     toc: true
#' ---

#' <style type="text/css">
#'   .main-container {
#'     max-width: 1200px;
#'     margin-left: auto;
#'     margin-right: auto;
#'   }
#' </style>

#' ### Test data

#+ setup, include=FALSE, echo=TRUE
require(dplyr)
require(DT)
knitr::opts_chunk$set(echo = TRUE)

#+ core_code, include=FALSE, echo=TRUE 
plants <- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/cluster/plantTraits.csv")
plants<- plants %>% 
  mutate( ID = paste0("ID_" , sprintf("%04d", 1:136)  )  ) %>%
  select(ID, X:unsp)

#+ test_table, echo = FALSE
datatable( plants ,
           extensions = c("Buttons" , "FixedColumns"),
           filter = 'top',
           options = list( autoWidth = TRUE , 
                           dom = 'Blftip',
                           pageLength = 100,
                           searchHighlight = TRUE,
                           buttons = c('copy', 'csv', 'print'),
                           scrollX = TRUE,
                           fixedColumns = list(leftColumns = 2)),
           class = c('compact cell-border stripe hover') ,
           rownames = FALSE) 

Создает таблицу (скриншот): enter image description here

Если я выполню поиск 048 вСтолбец идентификатора, он показывает правую строку, как это ... enter image description here

Но тогда, если я отменю фильтр и приведу все строки обратно, в строках будут отсутствовать символы изСтолбец ID.enter image description here

Это может произойти с любым столбцом, который я ищу, или с любыми другими данными.Этого не произойдет, если я использую главное окно поиска (в правом верхнем углу).Я использую RStudio (версия 1.1.463) на Mac (OS X 10.11.6), но я протестировал созданный html-файл в Chrome, Safari и встроенном браузере RStudio на Mac;и Chrome и IE на Win7.Любые подсказки о том, как решить эту проблему?

1 Ответ

0 голосов
/ 14 ноября 2018

Это на самом деле не решение, а скорее решение проблемы. Поскольку никаких предложений не было, я начал отключать все используемые мной опции, и оказалось, что причиной были проблемы с подсветкой результатов поиска. Так что если я сделаю:

#+ test_table, echo = FALSE
datatable( plants ,
           extensions = c("Buttons" , "FixedColumns"),
           filter = 'top',
           options = list( autoWidth = TRUE , 
                           dom = 'Blftip',
                           pageLength = 100,
                           searchHighlight = FALSE,
                           buttons = c('copy', 'csv', 'print'),
                           scrollX = TRUE,
                           fixedColumns = list(leftColumns = 2)),
           class = c('compact cell-border stripe hover') ,
           rownames = FALSE) 

Теперь работает нормально.

...