2

例として、PrimeFaces Demo フィルタリングDataTable ( https://www.primefaces.org/showcase/ui/data/datatable/filter.xhtml ) を使用して、テーブルの外側に「フィルタリング」リンクを提供できるようにしたいと考えています。クリックするユーザー (Volvo、Forw、BMW など)。ユーザーがリンクをクリックすると、メーカーフィルターのドロップダウンで選択項目を切り替えてフィルターを適用したいと考えています。フィルター プロパティにアクセスして変更を行う方法がわかりません。これはjavascriptを介して行うことができますか? 選択リストにアクセスして現在の選択を設定するにはどうすればよいですか?

更新:
ダニエルのリンクに従って、ドロップダウンの選択を変更することができましたが、フィルターを適用することができません。フィルターが入力フィールドに基づいている列では、キーアップをトリガーするとデータがフィルター処理されますが、選択時にトリガーしてフィルター処理するイベントがわかりません。私が使用しているコードは次のとおりです。

<p:commandLink id="filterLink" 
    value="Click to filter to Volvo Only" 
    onclick="$('#carForm\\:dataTable\\:manufacturerColumn_filter').val('Volvo'),
        $('#carForm\\:dataTable\\:manufacturerColumn_filter').trigger('filter')"
/>

上記で作成されたリンクは、メーカー フィルターを Volvo に切り替えますが、データはフィルターされません。

4

1 に答える 1

1

重要なのは、フィルター イベントをテーブル レベルで呼び出すことです。したがって、上記のコードは次のようになります。

<p:commandLink id="filterLink" 
value="Click to filter to Volvo Only" 
onclick="$('#carForm\\:dataTable\\:manufacturerColumn_filter').val('Volvo'), carsTable.filter()"
/>
于 2012-06-06T16:40:54.027 に答える