2016-12-17 5 views
2

私は、検索テーブルを含むポップアップ・ウィンドウを表示するための要件を検討中です。ユーザがポップアップウィンドウ内の検索ボタン(入力テキストボックスを提供)をクリックすると、検索テーブルは新しいデータセットでリフレッシュされる必要があります。ADFのダイアログ・ウィンドウでポップアップ内の表をリフレッシュする方法Oracle 11gR1

私はpopulateSearchTable()メソッドを作成して、配列deviceListArray<POJO CLass>の値を入力してテーブルを生成しました。

populatesearchTable()私はデータを生成するたびに、deviceListArray.Clear()メソッドでdeviceList Arrayをクリアしようとしています。また、以下のメソッドを使用して、最後にテーブルをリフレッシュします。

AdfFacesContext.getCurrentInstance().addPartialTarget(<tableBindingVariable>) 

何らかの理由でテーブルがリフレッシュされません。コードを共有する必要があるかどうかを教えてください。

通常のリフレッシュ方法とは異なるポップアップでテーブルをリフレッシュする方法はありますか?

答えて

1

リストを宣言し、セッターとゲッターを作成した後。

List<String> myList= new ArrayList<String>(); 

あなたが検索を行う際に、結果データのリストを記入し、その後

for(....){ 

mylist.add(....) 
}  

AdfFacesContext.getCurrentInstance().getProcessScope().put("mylist", mylist)よう なProcessScopeにそれを置きます。

次のようにリストのためのgetメソッド書き直し

public List<String> getMyList() { 
     myList.clear(); 
     List<String> list = (List<String>) AdfFacesContext.getCurrentInstance().getProcessScope().get("myList"); 
     if (list != null) { 
      for (String var : list) { 
       myList.add(var); 
      } 
     } 
     return myList; 
    } 

を、リストにテーブルに値を設定してください:

<af:table value="#{SomeBean.myList}" var="row" rowBandingInterval="0" ..... /> 

よろしく

サラム。 .. :)

+0

おかげでトンのサラム..それは働いた! –

+0

今、私は以下のように新しいエラーが発生しています。 –

+0

検索デバイステーブルの作成に例外が発生しました: - java.util.ArrayListをjava.lang.Stringにキャストすることはできません java.lang.ClassCastException:java.util.ArrayList java.lang.Stringにキャストすることはできません。oracle.adfinternal.controller.state.ScopeMap.get(ScopeMap.java:67)の at com.avocent.trellis.citirenamedevice.ui.table.PopulatePopUpSearchDeviceTable.populateDeviceTable(PopulatePopUpSearchDeviceTable.java :95) –

関連する問題