2016-02-25 18 views
9

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

+0

セクション2.5(http://rstudio.github.io/DT/)をご覧ください。 –

+0

@ danas.zuokas、私はこのマニュアルを読んだが、それは私を助けなかった。もっと具体的な手がかりをくれますか? – Marta

+0

まあ、私は自分自身が答えを持っていない、それが正しい方向にあなたを導くだろうと思った。私が理解することは、カスタムコンテナを使用したいと思うようにテーブルを構築できることです。この例を再現し、それをあなたのニーズに適応させることをお勧めします。 –

答えて

16

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

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

構文は少し風変わりですが、基本的には以上のF、L、Rとtオプションは、iとPオプションででトップのdivに配置されることを言います下の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')) 
+0

はい、私はそれを試しました。 「グローバル検索」は消滅しますが、「列検索」は機能しません。 – Marta

+0

奇妙な!上記の私の期待どおりに動作します。どのバージョンのR、光沢のある、DTを使用していますか? devtools :: install_github( 'rstudio/DT') – Pewi

+0

列のフィルタリングボックスはありますが、動作しません(お使いのバージョンで同じであれば試してみてください)。私のDTは全く新しいものだと思います。 – Marta

8

少し簡単な構文を、まだ見て誰のために:

datatable(head(iris), options = list(dom = 't'), filter = list(position = "top")) 

その他のオプション。テーブルのみ、使用DOM = 'T' を表示するには:

datatable(head(iris), options = list(dom = 'ft')) 

出典:

https://rstudio.github.io/DT/options.html

+5

これにより、ページボタンなど、必要以上に機能がオフになることがあります。 – wibeasley

0

datatable(head(iris), options = list(dom = 't')) 

は、デフォルトの設定をテーブルやフィルタ(検索ボックス)を表示するには

datatable(iris, filter="top", selection="multiple", escape=FALSE, 
options = list(searching = FALSE)) 
+1

このコードスニペットをお寄せいただき、ありがとうございます。 [適切な説明](https://meta.stackexchange.com/q/114762)は、これが問題の良い解決策である理由を示すことによって、長期的な価値を大幅に改善し、今後の読者にとって、同様の質問。あなたの前提を含め、あなたの答えをいくつかの説明を追加するには、[編集](https://meta.stackoverflow.com/posts/360251/edit)してください。 [ref](https://meta.stackoverflow.com/a/360251/8371915) – user8371915

関連する問題