JSF + selectManyPickList - Sandbox Tomahawk

0 respostas
antoniopopete
Eu tenho um combobox que quando carregado deve mostrar quais valores estão associados aquele atributo selecionado do combobox em uma picklist.So que eu faço a pesquisa e adiciono na coleção de String do atributo que representa o "destino" do picklist, e não está aparecendo.
Meu jsp
<t:selectOneMenu
			value="#{mapaStatusPedidoFaces.mapaStatusPedidoModel.statusAtual.id}"
			onchange="submit();" id="statusPedido" forceId="true"
			styleClass="form_combo_m" required="true"
			valueChangeListener="#{mapaStatusPedidoFaces.carregarStatusPedidos}">
			<f:selectItem itemLabel="#{properties['lb_selecione']}" itemValue="" />
			<f:selectItems value="#{mapaStatusPedidoFaces.statusPedidoCombo}" />
		</t:selectOneMenu>
		<br>
		<br>
		<s:selectManyPicklist id="origem" 
			value="#{mapaStatusPedidoFaces.statusPedidoDestino}" size="10"
			style="width: 20px;">
			<f:selectItems value="#{mapaStatusPedidoFaces.statusPedidoAtual}" />
		</s:selectManyPicklist>
		<br>

Faces:

private MapaStatusPedidoModel mapaStatusPedidoModel;

	private MapaStatusPedidoFacade mapaStatusPedidoFacade;

	private StatusPedidoFacade statusPedidoFacade;

	private List<SelectItem> statusPedidoCombo;

	private List<String> statusPedidoDestino;

	private List<SelectItem> statusPedidoAtual;


private void carregaStatus() {

		this.initEJB();

		this.statusPedidoCombo = admIcomWebUtil.initCombo((List) this.getStatusPedidoFacade().pesquisar(new StatusPedidoModel()),
				"id", "descricao");

		this.statusPedidoAtual = admIcomWebUtil.initCombo((List)  this.getStatusPedidoFacade().pesquisar(new StatusPedidoModel()),
				"id", "descricao");

	}

	protected void initEJB() {

		this.mapaStatusPedidoFacade = FacadeFactory.getInstance().getMapaStatusPedidoFacade();
		this.statusPedidoFacade = FacadeFactory.getInstance().getStatusPedidoFacade();
	}

	public void carregarStatusPedidos(final ValueChangeEvent event) {
		
		this.statusPedidoDestino.clear();

		if (!IcomUtil.isNullOrEmpty(event.getNewValue())) {

			this.carregaStatus();
			
			Collection<StatusPedidoModel> statusColl = this.mapaStatusPedidoFacade.pesquisarStatusSeguinte(new StatusPedidoModel(
					(Long) event.getNewValue()));
		
			for (StatusPedidoModel status : statusColl) {

				this.statusPedidoDestino.add(""+status.getId());
			}

		}

	}
	
	private void initStatusSeguintes(List<String> statusPedidos){
		
		this.mapaStatusPedidoModel.setStatusSeguinte(new ArrayList<StatusPedidoModel>());
		
		for(String status: statusPedidos){
			this.mapaStatusPedidoModel.getStatusSeguinte().add(new StatusPedidoModel(new Long(status)));
		}
	}
Criado 5 de novembro de 2007
Respostas 0
Participantes 1