VS 2008 - Gerando relatórios com o ReportViewer II


Continuando o meu artigo VS 2008 - Gerando relatórios com o ReportViewer I vou incrementar o relatório gerado na primeira parte. Vamos ao trabalho...

Para você recordar estou exibindo a figura do leiaute do relatório criado no Descritor de relatório do ReportViewer;

Nota: Eu inclui um o campo ProductName  no relatório de forma a poder exibir os nomes dos produtos no relatório.

Incluindo imagens

Vamos incluir uma imagem no cabeçalho do relatório e alterar o seu título. Para isso primeiro temos que incluir um cabeçalho(Header) no relatório. Clique com o botão direito sobre a área livre do relatório no Descritor e selecione a opção Header. Você verá a área do cabeçalho surgir no topo do Descritor;

Arraste o título do Relatório para a seção Page Header e altere o seu formato conforme a figura abaixo:

A partir da ToolBox selecione o controle Image e arraste para o cabeçalho do relatório (1) e em seguida clique no relatório, e, na janela de propriedades localize a propriedade EmbeddedImages (2) para exibir a janela Embedded Images;

Clique no botão New Image e a partir da janela Import Image selecione a imagem que deseja exibir no relatório;

Após selecionar a imagem a janela Embedde Images irá exibir a imagem, seu nome e o seu tipo. Clique no botão OK para encerrar esta etapa;

Em seguida selecione o controle Image no relatório e  na janela de propriedades altere o valor da propriedade Source para Embedded e atribua a propriedade Value à imagem que você selecionou para exibir;

Source = Embedded
Value = maco10

Pronto, já temos a imagem sendo exibida no controle do relatório.

Personalizando texto , cor e valores

Agora vamos mostrar como usar expressões para personalizar a exibição do campo Discontinued. Este campo possui os valores True e False indicando se um produto esta descontinuado o não. Ao invés de exibir estes valores vamos criar uma expressão para exibir o texto Descontinuado quando o valor do campo for igual a True e o texto Ativo se o campo tiver o valor False.

Selecione o campo do relatório e na janela de propriedades selecione a propriedade Value e clique na opção Expressions para abrir a janela Expression.

Em seguida usando a expressão =IIf(Fields!Discontinued.Value=True,"Descontinuado","Ativo")  iremos substituir os valores originais para os definidos na expressão em tempo de execução do relatório.

Nota: A expressão é montada usando os operadores, funções e campos disponíveis na janela Expression.

Usando o mesmo recurso vamos alterar a cor do texto a ser exibido de forma que quando o campo Discontinued for igual a True iremos exibir o texto Descontinuado na cor vermelha (Red) e caso contrário na cor Azul (Blue).

Para isso selecione o campo no relatório e na janela de propriedades procure a propriedade Color e selecione a opção Expression.

Na janela Expression defina a seguinte expressão: =IIf(Fields!Discontinued.Value=True,"Red","Blue") para alterar a cor do texto em tempo de execução.

Podemos ainda definir uma expressão para formatar os preços exibidos no relatório. Selecione o campo UnitPrice no relatório e na janela de propriedades localize a propriedade Format, selecionando a opção Expression. Na janela Expression vamos usar a função FormatCurrency e montar a expressão :  =FormatCurrency(Fields!UnitPrice.Value,2)

Executando o projeto iremos obter o formulário mostrado a seguir onde podemos ver as alterações definidas exibidas:

Veja que sem muito esforço criamos um relatório com dados de mais de uma tabela e com alguns recursos como: imagens , e formatação em tempo de execução.

Nosso próximo passo é mostrar como criar gráficos usando o ReportViewer e para isso irei criar outro relatório que será tratado em outro artigo. Acompanhe a última parte em : VS 2008 - Gerando relatórios com o ReportViewer III

Pegue o projeto completo aqui: vb_Report1.zip

Eu sei é apenas VB .NET mas eu gosto...

Referências:


José Carlos Macoratti