[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 
Mensagens enviadas por: rogel.garcia  XML
Perfil de rogel.garcia -> Mensagens enviadas por rogel.garcia [274] Ir para a página: Anterior  1, 2, 3 ... 7, 8, 9 ... 17, 18, 19 Próximo 
Autor Mensagem
Poste aqui o seu itemLista.. o controller e o jsp como estão nesse momento..
pode ser... aí mesmo...


mas dê preferencia para extender o entrada ao invés do método doEntrada
Esse tipo de generics

public class PaiCrud<FILTRO extends PaiFiltro, FORM extends Pai, BEAN extends Pai> extends CrudController<FILTRO,FORM,BEAN

o CrudController realmente nao aceita nao...

Ele não foi implementado.. porque é possível utilizar as classes de outras formas para nao cair nessa situacao.. e a solução para esse problema é muito complexa....
tem sim...

vou montar um exemplo depois e te mando....
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]
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....
voce pode colocar o valor no próprio bean..
exemplo

class Bean {
Date data = new Date();//o valor padrao será a data atual
}


vc também pode setar o valor no controller antes de ir para a tela...
Buscar via reflection seria interessante... O tipo no Model seria object mesmo..
Quando vc manda o parametro modelo=x.y.Z[id=3] o neo colocará um objeto tipo x.y.z se for modelo=x.y.W[id=8] o neo colocará... W

Você pode criar uma annotation @SecondDescription...
Achar essa propriedade via reflection... alterar os templates e criar um controller genérico...
Aí bastará anotar a propriedade com @SecondDescription que a funcionalidade que vc criou seria ativada...
Ao invés de fazer isso
Code:
 (Projeto) ServletRequestDataBinderNeo.translateObjectValue(null, request.getParameter("projeto"), null);
 

é melhor criar um bean
Code:
 class Model {
      Object modelo;
      ..getter e settter..
 }
 

e no controller fazer
Code:
 public void getProjeto(WebRequestContext req, Model model) {
     Projeto projeto = (Projeto) model.getModelo();
 }
 

O nome do parâmetro do ajax ao invés de ser projeto ou area.. deverá ser modelo...
troque

Code:
sendRequest('${pageContext.request.contextPath}/adm/AjaxCombo?'+beanName+'='+o

por
Code:
sendRequest('${pageContext.request.contextPath}/adm/AjaxCombo?modelo='+o
Essa funcionalidade de mostrar a descrição do bean é comum na sua aplicação?


No label dos combos é mostrado o q?
Porque a descrição já não é mostrada diretamente no combo?

[A propriedade anotada com @DescriptionProperty será utilizada como label para os options do combo]
É isso mesmo Guilherme.. o que tem como vc fazer para melhorar é tornar o algorítmo genérico...

Ao invés de ter uma funçao para cada bean... vc pode ter uma única funçao parametrizável.. que retorna a descriçao de acordo com o bean que foi passado como parâmetro....

Entendi...


Não tem nenhum recurso automático do NEO para fazer isso.. vc terá que fazer utilizando os recursos normais do NEO...

Vc pode fazer assim:


no seu jsp coloque

<n:ajax functionName="executarAjax(codigo)" parameters="javascript:'codigo='+codigo" action="..." .... />

<n:property name="x" onchange="executarAjax(this.value)"/>

No servidor crie uma action que carregue o bean e faça println de um script mais ou menos assim:
out.println("document.getElementById('id do div que tera a msg').innerHTML = "+descricao);


Ficou um pouco resumido demais meu exemplo.. se não tiver entendendo me fala que eu faço um exemplo mais detalhado...
Experimente trocar os <br> por <n:panel>& nbsp;</n:panel>
Bem.. sempre que tiver dentro de um panelGrid... vc deve utilizar panels para colocar o HTML dentro do panel

Ex:

<n:panelGrid columns="2">
<n:panel>
Aqui! Estou dentro de um TD (correto)
</n:panel>

Aqui estou fora de um TD (errado)
</n:panel>

Um panelGrid. só aceita dentro deles... panel.. Se colocar HTML é como se tentasse colocar código entre um TR e um TD. Cada n:panel representa um TD do HTML. Os TRs são colocados de acordo com o número de colunas especificado no panelGrid.. se vc tem um panelGrid com 2 columns e 4 panels dentro.. vc terá 2 linhas com 2 tds cada..

Veja uma explicaçao mais detalhada na documentaçao..

No seu exemplo os <BR> estão em local inapropriado...

O estilo no tabelaEntrada é colocado assim:
font-weight: bold, font-weight:normal

Isso significa que a primeira TD será negrito a segunda nao.. a terceira negrito .. a quarta nao....
Vc terá que alterar o estilo para o seu JSP ou alterar o template tabelaEntrada...

Tente utilizar os atributos columnStyleClasses ou columnStyles para configurar o estilo das colunas

Se o tabelaEntrada não estiver atendendo e vc não puder alterá-lo.. coloque um panelGrid dentro do tabelaEntrada para configurar as propriedades

Vc também pode substituir o tabelaEntrada por um panelGrid se desejar..
O tabelaEntrada é na verdade um panelGrid com algumas propriedades configuradas por padrão e um t:propertyConfig

Faz o seguinte...


no seu controller
Code:
Map<String, String> pessoas = new LinkedHashMap<String, String>();
 pessoas.put("F", "Física");
 pessoas.put("J", "Jurídica");
 request.setAttribute("mapaPessoas", pessoas);



no jsp
Code:
<t:property name="tipoPessoa" renderAs="doubleline" itens="${mapaPessoas}"/>
 
Perfil de rogel.garcia -> Mensagens enviadas por rogel.garcia [274] Ir para a página: Anterior  1, 2, 3 ... 7, 8, 9 ... 17, 18, 19 Próximo 
Ir para:   
Powered by JForum 2.1.7 © JForum Team