[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Filtro deixando campo como obrigatorio.  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
guilherme.pimentel
Template
[Avatar]

Membro desde: 21/06/2007 15:52:28
Mensagens: 109
Localização: BELO HORIZONTE
Offline

Boa tarde, eutenho um bean Estrutura que tem como pai uma Area

Code:
 public class Estrutura extends GeoBean{
     ...	
     private Area 	area;
     ...
 
     @ManyToOne
     @JoinColumn(name = "GB0NUMAR", referencedColumnName = "ADANUMAR")
     @Required
     public Area getArea() {
 	return area;
     }
     ...
 
 


A area esta da seguinte forma:

Code:
 public class Area extends GeoBean{
     ...
     private Projeto projeto;
     ...
 
 	@Required
     @ManyToOne
     @JoinColumn(name = "ADANUMPJ", referencedColumnName = "ADBNUMPJ")
     public Projeto getProjeto() {
 	return projeto;
     }	
     ...
 
 


Na entrada de dados da estrutura esta funcionando o o combo dinamico do Projeto e Area:

Code:
 
 			<n:comboReloadGroup useAjax="true">
 				<t:property name="area.projeto" label="Projeto" ONCHANGE="getBean(this)" />
 				<t:property name="area" 		label="Area" 	ONCHANGE="getBean(this)" />
 			</n:comboReloadGroup>
 
 


mas no filtro o combo do projeto esta como requerido e quando eu não preencho o Combo da Area dá um erro, o EstruturaFiltro esta da seguinte forma:

Code:
 
 public class EstruturaFiltro extends FiltroListagem {
 	private Area area;
                 ...	
 	public Area getArea() {
 		return area;
 	}
                 ...
 }
 
 


O EstruturaDAO esta assim:

Code:
 
 	@Override
 	public void updateListagemQuery(QueryBuilder<Estrutura> query, FiltroListagem _filtro) {
         EstruturaFiltro filtro = (EstruturaFiltro) _filtro;
         query.where("estrutura.area = ?", filtro.getArea())
 	 		 .whereLike("estrutura.codigo", filtro.getCodigo())
 	 		 .whereLike("estrutura.nome", filtro.getNome())
 	 		 .whereLike("estrutura.tipo", filtro.getTipo());
 	}
 
 


E o jsp de listagem esta assim:

Code:
 
 ...
 	<t:janelaFiltro>
     	<t:tabelaFiltro>
 			<n:comboReloadGroup useAjax="true">
 				<t:property name="area.projeto" label="Projeto"/>
 				<t:property name="area" 		label="Area"/>
 			</n:comboReloadGroup>
 			<t:property name="codigo"/>
 			<t:property name="nome"/>
 			<t:property name="tipo"/>
 		</t:tabelaFiltro>
     </t:janelaFiltro>
 ...
 


Deu pra entender ???? sabe oque pode ser???

GUILHERME A. MUNCK PIMENTEL
DESENVOLVEDOR JEE
BRASIL - MINAS GERAIS - BELO HORIZONTE
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Nao sei exatamente o que é...

mas experimente fazer o seguinte:

Code:
  public class EstruturaFiltro extends FiltroListagem {
  private Area area;
  private Projeto projeto
                  ...
  getters e setters
                  ...
  }
  
 


e no jsp
Code:
  <n:comboReloadGroup useAjax="true">
  <t:property name="projeto" label="Projeto" ONCHANGE="getBean(this)" />
  <t:property name="area" label="Area" ONCHANGE="getBean(this)" />
  </n:comboReloadGroup>
 


Terá o mesmo efeito...

Coloque aqui o erro que deu.. pra gente saber se é algum bug ou limitacao....
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

acho que pode ser o seguinte:

query.where("estrutura.area = ?", filtro.getArea())


essa linha dará pau.. caso nao tenha sido selecionada a area pelo seguinte...
o projeto da area.. se estiver selecionado forcará a criacao de area.. que nao possui id..

ou seja.. vc terá uma área com projeto mas a area nao tem id...

esse problema seria resolvido com o exemplo acima...

Isso é uma limitacao dificil de ser resolvida.. ela acontece sempre que dentro de um combo reload.. o primeiro combo é selecionado e o segundo nao.. e o segundo nao é obrigatorio
[ela é resolvida.. fazendo-se a modificacao acima]
guilherme.pimentel
Template
[Avatar]

Membro desde: 21/06/2007 15:52:28
Mensagens: 109
Localização: BELO HORIZONTE
Offline

Funcionou certinho valeu!!!!!!

GUILHERME A. MUNCK PIMENTEL
DESENVOLVEDOR JEE
BRASIL - MINAS GERAIS - BELO HORIZONTE
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team