Ordenar Campos
22/03/2010 00:00
0
Pessoal,
antes de tudo é um prazer fazer parte deste forum. Sou novato e estou nos primeiros passos do grails. Como todo novato, preciso da ajuda de vocês. Inicialmente lí o forum, os materiais em <!-- m --><a class="postlink" href="http://www.itexto.net/devkico/?page_id=220">http://www.itexto.net/devkico/?page_id=220</a><!-- m -->, <!-- m --><a class="postlink" href="http://www.itexto.net/devkico/">http://www.itexto.net/devkico/</a><!-- m -->, <!-- l --><a class="postlink-local" href="http://www.grailsbrasil.com/blogs/">blogs/</a><!-- l -->, <!-- m --><a class="postlink" href="http://grails.org/doc/latest/">http://grails.org/doc/latest/</a><!-- m --> etc..

O que não falta é leitura ! Sou de oriundo do Delphi e estou tendo algumas dificuldades de entendimento em coisas simples como por exemplo:

1) Como ordenar (forçar) campos (propriedades) definidos em uma classe groovy ? (Não sei o motivo, mas ele ordena da forma dele);

2) Como definir um campo do tipo data e fazer a validação do mesmo ? (Não desejo a forma em Combos ou Listas. Apenas no text Field e sem a hora);

3) Como definir um campo do tipo currency (ou float) e fazer a validação do mesmo ? (Ex: ###.###.###.##0,00);

Sei que são questões fáceis, mas preciso de exemplos e de um entendimento sobre estes itens.

Muito obrigado !
Rodrigo
Tags: Groovy


0
Oi Rodrigolg,

fico feliz que esteja gostando de participar. Bom: vamos ver se posso te ajudar ok? Vamos lá:

1) Como ordenar (forçar) campos (propriedades) definidos em uma classe groovy ? (Não sei o motivo, mas ele ordena da forma dele);

Há diversas maneiras de se fazer isto. Se estiver buscando seus objetos usando finders dinâmicos, pode incluir uma lista de parâmetros no final informando que quer fazer isto. Exemplo:


def livros = Livro.findAllByTituloLike(&quot;Coisas%&quot;, [sort&#58;'title', order&#58;'asc'])

No caso, estou ordenado pelo título e em ordem ascendente. (desc para descendente)

Se estiver trabalhando com criterias, basicamente a mesma coisa

def criteria = Livro.createCriteria()
def livros = criteria {
like(&quot;titulo&quot;, &quot;Coisas%&quot;)
order(&quot;titulo&quot;, &quot;asc&quot;)
}


E, ainda pode definir a ordenação no próprio mapeamento da classe se quiser também, como no exemplo abaixo:

class Livro {
static mapping = {
sort &quot;titulo&quot;
}
}


2) Como definir um campo do tipo data e fazer a validação do mesmo ? (Não desejo a forma em Combos ou Listas. Apenas no text Field e sem a hora);

Olha, com certeza vai ter uma solução mais bacana que a que vou apresentar, mas se não quiser usar o DatePicker, que facilita muito a vida, você pode incluir alguma lógica no seu controlador. Poderia por exemplo escrever um código de validação como o abaixo:


def formatoData = new java.text.SimpleDateFormat(&quot;dd/MM/yyyy&quot;)
try {
objeto.data = formatoData.parse(params.data)
} catch (Exception ex) {
// me esqueci da excessão disparada &#58;)
flash.mensagemErro = &quot;Data inválida&quot;
// renderize novamente a view relacionada expondo o erro para o usuário
}




3) Como definir um campo do tipo currency (ou float) e fazer a validação do mesmo ? (Ex: ###.###.###.##0,00);
Há aqui mais de uma alternativa. Se for na interface gráfica, se não me engano é possível usar plugins que validem o seu texto de cara.
Caso contrário, você pode contar com lógica similar à que apresentei acima, só que ao invés de usar a classe java.text.SimpleDateFOrmat vai ter de usar a java.text.DecimalFormat.

E, o mais importante: não tenha receio em perguntar. Cada dúvida sua é um problema que mais alguém poderá enfrentar. Também vim do Delphi e sei como é complicada esta transição.
Qualquer coisa, estamos aqui disponíveis para lhe ajudar ok?

Grande abraço e bem vindo à turma!


0
Muito obrigado, ajudou bastante !

Bom poder contar com vocês do forum para nos ajudar !

Abç
Rodrigo
23/03/2010 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto