Problema com rich:pickList  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
tiago.vt
JavaEvangelist
[Avatar]

Membro desde: 20/04/2008 16:48:01
Mensagens: 346
Online

Pessoal estou montando um <rich:pickList>


o colSelecItemAlunosSelecionados eu fiz um List<String>
o colSelectItemAlunos é um List<SelectItem>

o problema é que eu selecionando um combo eu quero monstrar na direita os valores ja atribuido, só que quando eu jogo os valores na lista de string ele da erro,
tentei de vez um list de String, passa um lista do objeto que eu manipulo também deu errado.


Oracle Certified Java Programmer OCJP 5
[MSN]
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

Opa,

Alguns dias atrás o leonardobrancalhao mandou uma mensagem privada para mim perguntando sobre esse componente.
Vou postar a resposta que enviei para ele, veja se te ajuda.

"Opa,
Cara, segue um exemplo que montei baseado no livedemo do richfaces.
Link livedemo: http://livedemo.exadel.com/richfaces-demo/richfaces/pickList.jsf;jsessionid=4E2621FBDD37ACA22CE3FC6B537BA2B3?c=pickList&tab=usage "

JSP:



ManagedBean:


Se ainda tiver dúvidas, poste o código do seu MB.

[]'s

Daniel
[Email] [WWW]
tiago.vt
JavaEvangelist
[Avatar]

Membro desde: 20/04/2008 16:48:01
Mensagens: 346
Online

yorgan wrote:Opa,

Alguns dias atrás o leonardobrancalhao mandou uma mensagem privada para mim perguntando sobre esse componente.
Vou postar a resposta que enviei para ele, veja se te ajuda.

"Opa,
Cara, segue um exemplo que montei baseado no livedemo do richfaces.
Link livedemo: http://livedemo.exadel.com/richfaces-demo/richfaces/pickList.jsf;jsessionid=4E2621FBDD37ACA22CE3FC6B537BA2B3?c=pickList&tab=usage "

JSP:



ManagedBean:


Se ainda tiver dúvidas, poste o código do seu MB.

[]'s

Daniel


Eu segui esse modelo tbm so q no lugar do array de Integer eu fiz de String, so que seu eu deixar alguma coisa ja add nesse array ele nao mostra nada, e c eu do um reRender nele, da erro.

que a tela é a seguinte,

eu tenho 1 combo de curso, qndo a pessoa seleciona o curso, ele carrega os alunos do curso e numa List de selectItem, dae eu tenho outra combo que é professor qndo eu seleciono essa compro eu queria mostra do lado direito os alunos que o professor ja possui, so q da erro qndo eu populo o objeto do lado direito

Oracle Certified Java Programmer OCJP 5
[MSN]
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

Pode postar o seu MB?
[Email] [WWW]
tiago.vt
JavaEvangelist
[Avatar]

Membro desde: 20/04/2008 16:48:01
Mensagens: 346
Online

yorgan wrote:Pode postar o seu MB?


c eu add alguma string na colSelecItemAlunosSelecionados ele da erro...na hora q o componente carrega, pq eu quero adiciona os alunos que o professor ja possui nessa colSelecItemAlunosSelecionados

This message was edited 1 time. Last update was at 20/08/2010 09:28:43


Oracle Certified Java Programmer OCJP 5
[MSN]
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

Mas a sua coleção de SelectItem é composta por ID(Integer) e Nome(String).
A lista de alunos selecionados deve ir buscas os dados através do ID, por isso você deve usar uma lista de Integer.
Além disso, você está usando List<>. Para os itens selecionados você deve usar um array.

Exemplo:
Lista de Alunos Disponíveis (colSelectItemAlunos):
1 - Aluno A
2 - Aluno B
3 - Aluno C
4 - Aluno D
5 - Aluno E

Alunos Selecionados (colSelecItemAlunosSelecionados):


Fazendo assim, ele vai carregar a pickList com os alunos 2,4 e 5 selecionados.

[]'s
Daniel
[Email] [WWW]
tiago.vt
JavaEvangelist
[Avatar]

Membro desde: 20/04/2008 16:48:01
Mensagens: 346
Online

yorgan wrote:Mas a sua coleção de SelectItem é composta por ID(Integer) e Nome(String).
A lista de alunos selecionados deve ir buscas os dados através do ID, por isso você deve usar uma lista de Integer.
Além disso, você está usando List<>. Para os itens selecionados você deve usar um array.

Exemplo:
Lista de Alunos Disponíveis (colSelectItemAlunos):
1 - Aluno A
2 - Aluno B
3 - Aluno C
4 - Aluno D
5 - Aluno E

Alunos Selecionados (colSelecItemAlunosSelecionados):


Fazendo assim, ele vai carregar a pickList com os alunos 2,4 e 5 selecionados.

[]'s
Daniel


so que usando o array eu não vo ter problema quando o tamanho dele, supondo que quando eu seleciono o combo ja exista 2 adicionados ele vai cria 1 array com espaço de 2 mais qndo o usuario for adiciona mais 1 naum vai da estouro no array?

Oracle Certified Java Programmer OCJP 5
[MSN]
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

Não, o RichFaces trata isso.
E não que seja um problema ajudar, mas você poderia ter testado o código antes de postar essa dúvida né?

[]´s
Daniel
[Email] [WWW]
tiago.vt
JavaEvangelist
[Avatar]

Membro desde: 20/04/2008 16:48:01
Mensagens: 346
Online

yorgan wrote:Não, o RichFaces trata isso.
E não que seja um problema ajudar, mas você poderia ter testado o código antes de postar essa dúvida né?

[]´s
Daniel


É que na documentação do richfaces eu vi ele usando String, e dae pensei em usa o List, mais vou fazer do jeito que voce falo de noite, e posto o resultado, desde já te agradeço pela ajuda.

Oracle Certified Java Programmer OCJP 5
[MSN]
yorgan
GUJ Ranger
[Avatar]

Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline

O array tem que ser do mesmo tipo de objeto que você cria o SelectItem.
E no seu construtor você está usando inteiro, certo?
Ele trabalha da seguinte forma:

  • Popula a lista com os objetos da coleção de SelecItem (que você montou com Value = ID e Label = NOME);

  • Verifica se existem itens na lista de campos selecionados;

  • Caso existam, percorre a lista de SelectItem para comparar o valor. Nessa hora ele vai comprar com o ID, então você precisa de uma lista de ID´s;


  • Basta ver no construtor do SelectItem


    Ficou mais claro?

    []'s
    Daniel
    [Email] [WWW]
     
    Índice dos Fóruns » Desenvolvimento Web
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team