INTRODUÇÃO
Estou utilizando os produtos DevExpress já a algum tempo, inclusive preciso continuar com os artigos sobre o mesmo, vou fazer isso
Mas antes de continuar a série quero fazer alguns ‘Reviews’ sobre as novidades da versão 13.2 lançada em Dezembro de 2013, principalmente vou destacar pontos interessantes do XAF.
XAF ReportV2
Na minha opinião a mais importante atualização no XAF com a versão 13.2 é o recurso do ReportV2, é evidente que isto está ligado às dificuldades que temos enfrentando no desenvolvimento do produto que estamos fazendo na empresa. Até a versão 13.1 para criar relatórios pré-definidos no sistema é preciso criar o relatório no Designer, fazer a exportação do mesmo para um arquivo e na inicialização do sistema incluir o mesmo no banco de dados via código.
Agora é possível, finalmente construir o relatório XAF diretamente no Visual Studio. Isso é algo realmente muito bom, pois temos acesso a todas entidades do nosso modelo e fica muito mais aderente com o desenvolvimento e facilita em muito os testes.
Vamos ver como podemos implementar um relatório simples utilizando esse recurso. Iremos considerar que você já tenha os conhecimentos básicos para usar o XAF, então criaremos um simples projeto XAF Cross-Plataform Application e vamos para os passos.
Passo 1 – Incluir o Módulo ReportsModuleV2:
Note que o DevExpress identifica esta versão com o termo ‘V2′, pois é possível conviver seus relatórios da versão 1 e 2 ao mesmo tempo, isso é muito bom para manter a compatibilidade de suas aplicações.
Passo 2 – Criando um Novo relatório:
Criamos uma pasta ‘ReportReadOnlyPredef’ para armazenar os relatórios pré-definidos no sistema, e incluímos um relatório XtraReport comum.
Passo 3 – Definindo o DataSource
Aqui precisamos de nesta versão do DevExpress incluir dois componentes importantes em nossa Toolbar de forma manual (creio que na próxima isso já deve ser automático). Veja os componentes que precisamos incluir:
Após isso basta incluir em nosso relatório o componente ‘CollectionDataSource’ por exemplo.
Então precisamos agora definir o pelo menos uma propriedade do componente ‘CollectionDataSource’ para indicar a entidade do principal do relatório.
Passo 4 – Desenho do relatório
Após isso é desenhar o relatório conforme suas necessidades, aqui vamos fazer algo simples mesmo.
Passo 5 – Incorporando o relatório na aplicação
Agora finalmente temos que fazer o relatório aparecer devidamente em nossa aplicação. Precisamos implementar as chamadas para os métodos que irão fazer isso pra gente, em nosso caso isso é feito no arquivo ‘Module.cs’ implementando um Override no método ‘GetModuleUpdaters’, veja abaixo:
public override IEnumerable<ModuleUpdater> GetModuleUpdaters(IObjectSpace objectSpace, Version versionFromDB) { ModuleUpdater updater = new DatabaseUpdate.Updater(objectSpace, versionFromDB); PredefinedReportsUpdater predefinedReportsUpdater = new PredefinedReportsUpdater(Application, objectSpace, versionFromDB); predefinedReportsUpdater.AddPredefinedReport<ReportReadOnlyPredef.XtraReportPessoa>("Pessoas", typeof(BusinessObjects.Pessoa), true); return new ModuleUpdater[] { updater, predefinedReportsUpdater }; }
Passo 6 – Executar a aplicação
Após os passos acima teremos o relatório já inserido em nossa aplicação, conforme o exemplo abaixo:
CONCLUSÃO
Como eu disse no início, pessoalmente acredito que esse recurso é um dos mais importantes e creio que irá sim ajudar em muito o desenvolvimento relatórios já pré-definidos em nossas aplicações. Espero que o exemplo apresentado seja suficiente para o entendimento, mas se tiverem dúvidas é só entrar em contato.
No próximo post irei destacar mais novidades a respeito dessa nova versão 13.2.
Até mais!