2011-01-06 12 views
1

ご存じですか?これを行う方法が分かっていますか?データテーブルをリフレッシュする

私はそこにデータテーブルを持つページを持っています。行を削除するボタンがあります。ボタンは期待どおりに機能し、クリックすると選択した行が削除されます。私はまた、アイテムを検索し、それらを上記のデータテーブルに追加するポップアップウィンドウを開く別のボタンがあります。ポップアップウィンドウで「選択」ボタンをクリックすると、データテーブルをリフレッシュする方法がわかりません。

私のソリューションには、データテーブルを更新する隠しボタンがあります。それは私がlitterallyそれをクリックすると動作します。しかし、私はjavascriptを使用してポップアップウィンドウでクリックイベントをトリガするとき、それは常に動作しません。いつかリフレッシュして、時にはそれはdoesntです。

実際には、データテーブルを更新する最も良い方法は何ですか?

+0

どのバージョンのjsfを使用していますか?返信ありがとう。 – Dejell

答えて

4

あなたがJSF2.0を使用する場合は、

<h:form> 
... 
...(here you have the binding data) 
<h:commandButton action="#{yourbean.updateRows}" > 
<f:ajax render="tableName" /> 
</h:commandButton> 
</h:form> 

を使用してアプリケーションの一部を更新するオプションがあるEDITED

あなたはJAVASCRIPTの使用から、それを起動したい場合:

document.getElementById('elementName').click(); 
+0

これは実際に私の現在のソリューションですが、javascriptを使ってcommandButtonを呼び出す方法はありますか?私はこれを使用した:ポップアップウィンドウ:opener.refreshDataTable();親ウィンドウ(リフレッシュするデータテーブルが格納されているウィンドウ)に、次のように入力します:function refreshDataTable(){ \t \t \t $( '。addOcc')。 \t \t \t var btn = document.getElementById( "mainForm:dt:composite_dataTable_dt"); \t \t \t btn.click(); \t \t – raimun

+0

確かに!私の更新された答えを見てください!受け入れられた答えを確認することを忘れないでください!(緑色の矢印をクリックしてください) – Dejell

0

ポップアップウィンドウでDataTableにどのようにアクセスしていますか?いくつかのセッション変数に保持し、親ページでGridViewのようなUIコンポーネントを介してデータテーブルを表示していますか?その場合、popu windoをjavascriptで操作した場所から親ウィンドウをリロードすることができます。例えば。 window.opener.location.reload();

+0

うん、私はセッションでそれを保存します。私の他の選択肢は実際にはページ全体をリロードすることですが、「削除」ボタンをクリックすると実際に選択した行が削除され、ページ全体が更新されることなくデータテーブルが更新されますポップアップウィンドウの「選択」ボタンがクリックされると、データテーブルを実際にリフレッシュするだけです。ありがとうございます。 – raimun

-2

私はDatatable.AcceptChanges(); ...と考えることができますしかし、それはC#のためだ...

関連する問題