Удалите опцию "поиск", но оставьте поле "столбцы поиска"
Я хотел бы удалить параметр "глобальный поиск" из моего приложения, но оставить параметр "поиск столбцов". Есть идеи? Я пробовал разные параметры, такие как search searching=FALSE, filtering='none'
... Ничто из этого не работает должным образом.
Мой код:
server.R:
library("shiny")
library("DT")
data(iris)
shinyServer(function(input, output) {
output$tabelka <- DT::renderDataTable({
datatable(iris, filter="top", selection="multiple", escape=FALSE)
})
})
ui.R
library("shiny")
library("DT")
shinyUI(fluidPage(
DT::dataTableOutput("tabelka")
))
И картина, которая помогает понять мою проблему:
Ответы
Ответ 1
Параметры DT должны передаваться в виде списка. Кроме того, используя переменную инициализации sDom, можно указать, где находятся элементы управления DOM. Стандартная настройка выглядит так:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">flrt<"bottom">ip'))
Синтаксис немного причудливый, но в основном выше сказано, что опции f, l, r и t должны быть помещены в верхний div с параметрами я и p в нижнем div. Для более подробного объяснения обратитесь к документам по адресу http://legacy.datatables.net/usage/options.
В любом случае, "f" - это опция "Фильтрация ввода" (т.е. Опция поиска), и, перемещая "f" в другой div или опуская ее, мы можем перемещать или отключать панель поиска. Решение вашей проблемы может выглядеть так:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">lrt<"bottom">ip'))
Ответ 2
Чуть более простой синтаксис, для тех, кто еще смотрит:
datatable(head(iris), options = list(dom = 't'), filter = list(position = "top"))
Другие варианты. Для отображения только таблицы используйте dom = 't':
datatable(head(iris), options = list(dom = 't'))
Чтобы отобразить таблицу и фильтр (поле поиска), значение по умолчанию:
datatable(head(iris), options = list(dom = 'ft'))
Источник:
https://rstudio.github.io/DT/options.html
Ответ 3
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(searching = FALSE))