2016-12-17 1 views
2

Ich arbeite an einer Anforderung, ein Popup-Fenster mit Suchtabelle darin anzuzeigen. Wenn der Benutzer im Popup-Fenster auf die Suchschaltfläche (mit den eingegebenen Textfeldern) klickt, muss die Suchtabelle mit neuen Datensätzen aktualisiert werden.Wie Tabelle in einem Popup im Dialogfeld in ADF aktualisieren Oracle 11gR1

Ich habe eine populateSearchTable() Methode erstellt, um die Tabelle durch Auffüllen der Werte in einem Array deviceListArray<POJO CLass> zu generieren.

In populatesearchTable() jedes Mal, wenn ich die Daten erzeuge Ich versuche, die DeviceList Array von deviceListArray.Clear() Methode zu löschen und auch die folgende Methode verwendet, um die Tabelle am Ende davon zu aktualisieren.

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

Aus irgendeinem Grund wird die Tabelle nicht aktualisiert. Lass es mich wissen, wenn ich meinen Code teilen muss.

Gibt es eine andere Möglichkeit, eine Tabelle mit einem Popup zu aktualisieren, das sich von der normalen Aktualisierungsmethode unterscheidet.

Antwort

1

Nach dem Erklären Ihrer Liste und Erstellen der Setter und Getter.

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

, wenn Sie die Suche, um die Liste mit den Ergebnisdaten füllen, ist es dann in der ProcessScope wie

for(....){ 

mylist.add(....) 
}  

AdfFacesContext.getCurrentInstance().getProcessScope().put("mylist", mylist) setzen;

, um die get-Methode für die Liste wie folgt umschreiben:

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; 
    } 

Und stellen Sie sicher, dass der Wert für die Tabelle auf die Liste setzen:

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

Grüße

Salam. .. :)

+0

Dank eine Tonne Salam .. das hat funktioniert !! –

+0

Jetzt erhalte ich einen neuen Fehler wie unten erwähnt. –

+0

Ausnahme beim Aufrufen des Auffüllens der Suchgerät-Tabelle: - java.util.ArrayList kann nicht in java.lang.String java.lang.ClassCastException: java.util.ArrayList umgewandelt werden kann nicht in java.lang.String unter oracle.adfinternal.controller.state.ScopeMap.get (ScopeMap.java:67) unter com.avocent.trellis.citirenamedevice.ui.table.PopulatePopUpSearchDeviceTable.populateDeviceTable (PopulatePopUpSearchDeviceTable.java : 95) –

Verwandte Themen