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:
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);
}
}
}
}
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’:
[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);
}
}
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.


