Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
PivotViewer - .Net Magazine 80
Este artigo mostra como criar coleções dinâmicas com o PivotViewer, o novo controle do Silverlight que permite realizar pesquisas no estilo Pivot, com a utilização de imagens e usando o famoso recurso de DeepZoom. Mostra também como criar coleções a partir de fontes de dados externas, como por exemplo, um banco de dados do SQL Server.
.net Magazine 80
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 80
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 80
PivotViewer
O revolucionário controle de Pivot do Silverlight – Parte 2
Na edição de número 79 da .NET Magazine, foi publicado um artigo introdutório sobre o controle PivotViewer do Silverlight. Se o leitor ainda não conhece esse novo controle do Silverlight, sugiro fortemente a leitura do artigo da edição 79, antes de continuar a ler este aqui. Lá são abordados todos os conceitos básicos do PivotViewer, bem como onde baixar e instalar o controle.
Este artigo tenta ser bem mais prático, já que toda a teoria que envolve o PivotViewer já foi bastante explorada no artigo anterior. Só para refrescar a memória, o funcionamento do controle pode ser visto em http://algorama.selfip.net/Filmoteca (Figura 1).
No artigo anterior a esse, foi demonstrada a criação dessa coleção de filmes e como exibí-la no PivotViewer. Cada filme dessa coleção é representado por uma imagem, que é rearranjada dentro do Pivot, de acordo com as mudanças e escolhas feitas nas categorias (lado esquerdo), ordenação e tipos de exibição (lado superior direito).
Pode-se ainda fazer um zoom em qualquer imagem, a fim de visualizá-la por inteiro e consultar os detalhes de cada filme. Esse recurso de Zoom é realizado através do DeepZoom, antigo conhecido de aplicações Silverlight.
Nota do Devman
O DeepZoom é uma implementação para o Silverlight de uma tecnologia da Microsoft chamada Seadragon. Tanto o Seadragon quanto a ideia por trás do PivotViewer fazem parte de um programa da Microsoft chamado Microsoft Live Labs.
O DeepZoom permite navegar facilmente através de uma grande imagem, ou de um conjunto de imagens colocadas em conjunto. Essa navegação é feita simplesmente arrastando a superfície onde se encontram as imagens. Além disso, o principal recurso do DeepZoom é a possibilidade de fazer um Zoom In e um Zoom Out com a ajuda do botão de rolagem do mouse. Todo o mecanismo de renderização e carga das imagens em memória é controlado pelo DeepZoom.
O Controle PivotViewer do Silverlight possibilita as mesmas funcionalidades do DeepZoom nas imagens que compõem a coleção que está sendo visualizada no controle.
No exemplo da coleção de Filmes, foi criado o que é chamado de coleção estática (ou coleção simples). Nesse tipo de coleção é criado manualmente o arquivo XML que contém todos os dados da collection. Esse arquivo possui a extensão .CXML, um arquivo no formato XML que define como os itens de uma coleção são organizados.
Na verdade não é necessário criar este arquivo “na mão”, mas com a ajuda de um plug-in do Excel, que permite montar as coleções e gerar os arquivos necessários. Para a criação de coleções para o PivotViewer, temos três estratégias possíveis, como você pode ver na Figura 2.
As Simple Collections são as que podem ser geradas com a ajuda do Excel, e que na verdade são chamadas de simples ou estáticas, pois a coleção é previamente criada e só será atualizada se houver uma intervenção futura.
As Linked Collections são várias coleções simples conectadas entre si. O controle PivotViewer permite a chamada de uma coleção a partir de links relacionados aos itens da coleção.
Por fim as Dynamic Collections, ou coleções dinâmicas, chamada assim porque ela é criada em tempo de execução. Isso permite gerar coleções por demanda, consultando as mais diversas fontes de dados.
Enquanto a Simple Collection é uma ótima solução para a coleção de Filmes, para uma coleção que precisa estar sempre atualizada, é necessária a utilização de uma coleção dinâmica. O que será visto nos próximos capítulos deste artigo é a criação de uma coleção dinâmica que irá expor dados de um banco de dados do SQL Server.
Álbum de fotos
O exemplo do artigo mostra no PivotViewer um Álbum de Fotos, que estão armazenadas em um banco de dados do SQL Server. São utilizados recursos para a criação de coleções dinâmicas do PivotViewer. O NHibernate cuida do acesso e persistência no BD. Uma página ASP.NET faz o upload das imagens.
A solução chamada AlbumFotos contém dois projetos, um chamado AlbumFotos.Dominio e outro AlbumFotos.Repositorio. Em AlbumFotos.Dominio estão as entidades EntidadeBase e Foto (Listagem 1).
Listagem 1. EntidadeBase e Foto
namespace AlbumFotos.Dominio.Entidades
{
public class EntidadeBase
{
public long Id { get; set; }
}
public class Foto : EntidadeBase
{
public string Caminho { get; set; }
public short Ano { get; set; }
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
O revolucionário controle de Pivot do Silverlight – Parte 2
Na edição de número 79 da .NET Magazine, foi publicado um artigo introdutório sobre o controle PivotViewer do Silverlight. Se o leitor ainda não conhece esse novo controle do Silverlight, sugiro fortemente a leitura do artigo da edição 79, antes de continuar a ler este aqui. Lá são abordados todos os conceitos básicos do PivotViewer, bem como onde baixar e instalar o controle.
Este artigo tenta ser bem mais prático, já que toda a teoria que envolve o PivotViewer já foi bastante explorada no artigo anterior. Só para refrescar a memória, o funcionamento do controle pode ser visto em http://algorama.selfip.net/Filmoteca (Figura 1).
No artigo anterior a esse, foi demonstrada a criação dessa coleção de filmes e como exibí-la no PivotViewer. Cada filme dessa coleção é representado por uma imagem, que é rearranjada dentro do Pivot, de acordo com as mudanças e escolhas feitas nas categorias (lado esquerdo), ordenação e tipos de exibição (lado superior direito).
Pode-se ainda fazer um zoom em qualquer imagem, a fim de visualizá-la por inteiro e consultar os detalhes de cada filme. Esse recurso de Zoom é realizado através do DeepZoom, antigo conhecido de aplicações Silverlight.
Nota do Devman
O DeepZoom é uma implementação para o Silverlight de uma tecnologia da Microsoft chamada Seadragon. Tanto o Seadragon quanto a ideia por trás do PivotViewer fazem parte de um programa da Microsoft chamado Microsoft Live Labs.
O DeepZoom permite navegar facilmente através de uma grande imagem, ou de um conjunto de imagens colocadas em conjunto. Essa navegação é feita simplesmente arrastando a superfície onde se encontram as imagens. Além disso, o principal recurso do DeepZoom é a possibilidade de fazer um Zoom In e um Zoom Out com a ajuda do botão de rolagem do mouse. Todo o mecanismo de renderização e carga das imagens em memória é controlado pelo DeepZoom.
O Controle PivotViewer do Silverlight possibilita as mesmas funcionalidades do DeepZoom nas imagens que compõem a coleção que está sendo visualizada no controle.
No exemplo da coleção de Filmes, foi criado o que é chamado de coleção estática (ou coleção simples). Nesse tipo de coleção é criado manualmente o arquivo XML que contém todos os dados da collection. Esse arquivo possui a extensão .CXML, um arquivo no formato XML que define como os itens de uma coleção são organizados.
Na verdade não é necessário criar este arquivo “na mão”, mas com a ajuda de um plug-in do Excel, que permite montar as coleções e gerar os arquivos necessários. Para a criação de coleções para o PivotViewer, temos três estratégias possíveis, como você pode ver na Figura 2.
As Simple Collections são as que podem ser geradas com a ajuda do Excel, e que na verdade são chamadas de simples ou estáticas, pois a coleção é previamente criada e só será atualizada se houver uma intervenção futura.
As Linked Collections são várias coleções simples conectadas entre si. O controle PivotViewer permite a chamada de uma coleção a partir de links relacionados aos itens da coleção.
Por fim as Dynamic Collections, ou coleções dinâmicas, chamada assim porque ela é criada em tempo de execução. Isso permite gerar coleções por demanda, consultando as mais diversas fontes de dados.
Enquanto a Simple Collection é uma ótima solução para a coleção de Filmes, para uma coleção que precisa estar sempre atualizada, é necessária a utilização de uma coleção dinâmica. O que será visto nos próximos capítulos deste artigo é a criação de uma coleção dinâmica que irá expor dados de um banco de dados do SQL Server.
Álbum de fotos
O exemplo do artigo mostra no PivotViewer um Álbum de Fotos, que estão armazenadas em um banco de dados do SQL Server. São utilizados recursos para a criação de coleções dinâmicas do PivotViewer. O NHibernate cuida do acesso e persistência no BD. Uma página ASP.NET faz o upload das imagens.
A solução chamada AlbumFotos contém dois projetos, um chamado AlbumFotos.Dominio e outro AlbumFotos.Repositorio. Em AlbumFotos.Dominio estão as entidades EntidadeBase e Foto (Listagem 1).
Listagem 1. EntidadeBase e Foto
namespace AlbumFotos.Dominio.Entidades
{
public class EntidadeBase
{
public long Id { get; set; }
}
public class Foto : EntidadeBase
{
public string Caminho { get; set; }
public short Ano { get; set; }
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

Você está em:
canal .net
Publicidade
Rodrigo Sendin
Space do autor
é Arquiteto de Sistemas e trabalha com desenvolvimento de Software há mais de 13 anos. Tecnólogo formado pela FATEC de Americana e MCP .NET.
Space do autor


0
0
