web-dev-qa-db-ja.com

「検索」オプションを削除し、「検索列」オプションを残します

アプリケーションから「グローバル検索」オプションを削除したいのですが、「列検索」オプションはそのままにしておきます。何か案は? 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

26
Marta

DTオプションはリストとして渡す必要があります。さらに、sDom初期化変数を使用することにより、DOMコントロールのどこに配置するかを指定できます。標準セットアップは次のようになります。

    datatable(iris, filter="top", selection="multiple", escape=FALSE, 
      options = list(sDom  = '<"top">flrt<"bottom">ip'))

構文は少し風変わりですが、基本的に上記の説明では、f、l、r、およびtオプションは上部divに配置され、iおよび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'))
29
Pewi

まだ見ている人のための、やや単純な構文:

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

26
Bryan
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(searching = FALSE))
8
s157