Devexpress 13.2 Review – Parte II

INTRODUÇÃO

Estamos implementando um projeto de porte médio com o DevExpress XAF e atualizamos tudo para a versão 13.2. Além da versão 2.0 dos relatórios existem 2 recursos simples mais muito importantes que vou destacar aqui.

Validação ‘Soft’

Até a versão 13.1 com o módulo ‘Validation’ você consegue já incluir por exemplo validação para campos obrigatórios, assim quando desejar que o usuário não deixa campos obrigatórios sem informar é só indicar as propriedades para requerer a informação e pronto, basicamente assim:

[csharp]
using DevExpress.Persistent.Validation;
namespace AppTeste.Module.BusinessObjects
{
[DefaultClassOptions]
[DevExpress.ExpressApp.DC.XafDefaultPropertyAttribute("Nome")]
public partial class Customer : DevExpress.Persistent.BaseImpl.BaseObject
{
private System.String _endereco;
private System.String _nome;
public Customer(DevExpress.Xpo.Session session)
: base(session)
{
}
[RuleRequiredField("NomeRequerido", DefaultContexts.Save, "Nome obrigatório.")]
public System.String Nome
{
get
{
return _nome;
}
set
{
SetPropertyValue("Nome", ref _nome, value);
}
}
[DevExpress.ExpressApp.DC.XafDisplayNameAttribute("Endereço")]
public System.String Endereco
{
get
{
return _endereco;
}
set
{
SetPropertyValue("Endereco", ref _endereco, value);
}
}
}
}
[/csharp]

E durante a execução da aplicação temos a validação do campo ‘Nome':

Mas pense se desejamos indicar para o usuário um alerta orientando o preenchimento do campo endereço, mas sem obrigá-lo. Isso agora é possível com a versão 13.2, veja como podemos implementar com o ‘RuleRequiredField':

[csharp]
[DevExpress.ExpressApp.DC.XafDisplayNameAttribute("Endereço")]
[RuleRequiredField("EnderecoSePossivel", DefaultContexts.Save, "Informe o Endereço se possível.",
ResultType = ValidationResultType.Warning)]
public System.String Endereco
{
get
{
return _endereco;
}
set
{
SetPropertyValue("Endereco", ref _endereco, value);
}
}
[/csharp]

Com esse recurso interessante podemos incrementar algo solicitado pelos clientes onde podemos alertar de campos importantes mas sem obrigá-los no momento. Veja como fica a view no momento de salvar o objeto:

O usuário pode ‘ignorar’ os alertas e salvar o objeto sem problemas.

Apagar relacionamento’

Outro recurso que nem identifiquei um nome na lista de novidades da DevExpress mas que todos os clientes me reclamam é de como podem retirar um relacionamento selecionado, daí o suporte tem de orientar o uso de ‘CTRL+DEL’. Não era nada intuitivo e os clientes muitas vezes esquecem a geram demandas de suporte. Nesta versão foi muito espertamente inserido um ‘x’ na combo e ficou agora sim muito simples para o usuário identificar como retirar a associação. Vejam na view abaixo como ficou:

Bom é isso pessoal, em breve mais posts sobre recursos do DevExpress XAF.

Tags:,

8 Comentários

  • Diego
    29 de março de 2014 em 12:28

    Olá Marcelo, você tem algum material que demonstre como criar controle de acessos por usuários, sei que o XAF tem um modulo para isso mas ainda não consegui entender como ele funciona, a propósito parabéns pelos artigos.

    • marcelo
      marcelo
      3 de abril de 2014 em 00:19

      Olá Diego, tenho sim.
      Na verdade quero criar um post sobre esse assunto pra esclarecer o tema.

      • Jonas
        26 de maio de 2014 em 19:41

        Se tiver material sobre o XaF pode me passar? Estou iniciando que preciso muito aprender mais =)

        • marcelo
          marcelo
          5 de junho de 2014 em 01:12

          Olá Jonas,

          O material que tenho basicamente é a documentação e os posts que estou fazendo.
          Quer algo específico sobre o XAF?

          • Jonas
            9 de junho de 2014 em 14:37

            Gostaria de saber mais sobre Audit Trail System, além de conexão com bancos de dados.

          • Jhon
            26 de junho de 2014 em 12:57

            Estou com um problema. Minha aplicação web não conecta com o banco de dados oracle. Dá o seguinte erro: ORA – 06413.

            Estava com esse problema na minha aplicação Win também. Procurei na internet e encontrei uma solução que não funcionou para a aplicação web.

            Detalhes do projeto:
            Banco de dados: Oracle 11g
            Visual Studio: 2013
            Devexpress: 13.2
            Windows: Win 8 (x64)

            Podem me ajudar?

            Obrigado.

          • marcelo
            marcelo
            19 de julho de 2014 em 03:14

            Desculpe a demora!

            Pode me indicar o que fez na versão Win e não funcionou na Web?!

  • Flavio
    2 de outubro de 2015 em 15:40

    Marcelo gostei, pena que as figuras não estão aparecendo.

Deixe um comentário