Удалите опцию "поиск", но оставьте поле "столбцы поиска"

Я хотел бы удалить параметр "глобальный поиск" из моего приложения, но оставить параметр "поиск столбцов". Есть идеи? Я пробовал разные параметры, такие как 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")

))

И картина, которая помогает понять мою проблему:

enter image description here

Ответы

Ответ 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))