2016-09-08 2 views
1

Ich habe in meinem Projekt eine Auswahlliste implementiert.Quellliste in Primefaces-Auswahlliste behalten

Docu for picklist

Ich habe versucht, die Logik dieser Ansicht zu ändern meine Handlungen zu passen. Ich möchte die SourceList so lassen, wie sie ist, und nur die Zielliste ändern, wenn das angegebene itemScope nicht bereits in der Zielliste ist.

Mein Ansatz:

public void onTransfer(TransferEvent event) { 

    // wenn wir eine Sprache aktivieren möchten, sollte die sprache nicht 
    // aus der source entfernt werden 
    if (event.isAdd()) { 
     List<String> itemsInScope = (List<String>) event.getItems(); 
     itemsInScope.addAll(languages.getSource()); 
     languages.setSource(itemsInScope); 

     for(String s : languages.getSource()) 
      System.out.println(s); 
    } 


    settingsObject.setActiveLanguages(languages.getTarget()); 
    settingsObject.setSupportedLanguages(languages.getSource()); 

    TranslationConfig conf1 = new TranslationConfigManager().getSettings(); 

    conf1.setActiveLanguages(languages.getTarget()); 
    conf1.setSupportedLanguages(languages.getSource()); 

    new TranslationConfigManager().updateSetting(conf1); 
} 

Dies funktioniert logisch mit dem Duallist, weil es die richtige gefüllt Liste zurückgibt, aber die irgendwie eine Abhilfe und schmutzig. Das Problem hier ist, es entfernt immer noch das Element in der Ansicht.

Ist meine Vorgehensweise überhaupt möglich?

Antwort

0

ich hatte das gleiche Problem, alles, was ich auf dem TransferEvent tat, war, neu erstellt ich die Auswahlliste mit der ursprünglichen Quelle Anzeige das Ziel mit dem Ereignis-Ziel wie in diesem Beispiel

List<String> initialSource; 

...(Code to fill the initial list)... 

public void onTransferSeccion(TransferEvent event){ 
    originalPickList= new DualListModel(initialSource, originalPickList.getTarget()); 
} 
+0

dieses solution.Same Problem versucht. Die Logik in den Objets ist richtig, aber die UI-Komponente (Picklist) zeigt immer noch falsche Inhalte an. – Offset

+0

Aktualisieren Sie die Auswahlliste in der XHTML? Da Sie den Wert der Auswahlliste ändern, müssen Sie die Auswahlliste verarbeiten und aktualisieren, damit dies funktioniert –