Estilo da linha HtmlDataTable - jsf [RESOLVIDO]

4 respostas
foxpv

pessoal tudo bem?
é o seguinte,
eu tenho um link dentro de um HtmlDataTable e toda vez que eu clicar nele eu devo mudar o estilo da linha correspondente.
Aí estão minhas dúvidas, pelo que eu consegui achar, muda-se o estilo das linhas usando o metodo setRowClasses, mas eu preciso saber a posição da linha para eu mudar-la, alguém tem idéia de como eu poderia fazer isso? pois, não consegui colocar um contador de linhas dentro do meu dataTable para passar como parâmentro para o meu bean o índice da linha que foi clicada.

4 Respostas

Javabuntu

cara tem algumas maneiras…

vc poderia passar um f:param sendo ele algum atributo do seu backing bean, e chama uma action que vai tratar aquele clique… no caso vc usaria um commandLink e não um outPutLink…

Javabuntu

dá uma olhada nestes posts, ele estão querendo deletar uma linha, porém é o que vc precisa, pois eles querem de fato saber como capturar a linha:

http://www.guj.com.br/posts/list/65503.java#344968

http://www.guj.com.br/posts/list/69910.java#367782

http://www.guj.com.br/posts/list/65503.java#345056

foxpv

opa. brigadão… consegui!

foxpv

outra dúvida,
tipo eu tenho uma imagem nessa coluna, e preciso mudar a src dela, ae estou fazendo da seguinte maneira:

Iterator <HtmlColumn>it = dt.columns();
		int cont = 0;
		while(it.hasNext()){
			HtmlColumn col = it.next();
			if(col.getId().equals("colIcones")){
				UIComponent uis= col.findComponent("frmMenu:_id"+id);
				List<UIComponent> filhos = col.getChildren();
				HtmlGraphicImage hgi = (HtmlGraphicImage)filhos.get(2).getChildren().get(0);
				System.out.println(hgi.getTitle());
				if(hgi.getTitle().equals("id"+id)){
					if(status.equals("1"))
						hgi.setValue("/view/imagens/ico_retirar_disable.png");
					else
						hgi.setValue("/view/imagens/ico_retirar.png");
				}
				cont++;
			}
		}

soh q está mudando a src de todas as imagens e não só aquela que tem o title q eu especifiquei, eu estou fazendo algo errado?
obs: chega nesse metodo qdo eu clico no commandLink dentro da tabela.

Criado 24 de março de 2008
Ultima resposta 24 de mar. de 2008
Respostas 4
Participantes 2