Trabalhando com Dynamic Data Controls

by Fabiano 19. setembro 2008 01:11

 

O ASP.NETultimamente vem  revolucionou o desenvolvimento de aplicações para web oferecendo uma plataforma robusta e altamente produtiva elevando o potencial dos desenvolvedores com excelente recursos como: GridView, DataControls, Validators , WebParts entre outros.

Ao longo dos anos, outras necessidades foram surgindo no mercado como a criação de telas automáticas de cadastro conhecidas atualmente como Scaffold bastante populares com o Ruby on Rails. 

Já faz algum tempo que a Microsoft vem investindo em linguagens dinâmicas e agora, com o lançamento do Service Pack 1 do .NET 3.5, foi disponibilizando dentro do ASP.NET um novo conjunto de controles conhecido como Dynamic Data Controls que tem objetivo de montar as telas para as ações básicas de qualquer CRUD (Create, Read, Update, Delete). 

 

Logo após instalar o Service Pack 1 do Visual Studio 2008, vai aparecer, conforme apresentado na figura abaixo, mais um novo tipo de projeto web para o .NET 3.5 chamado de "Dynamic Data"



Após criar seu novo projeto, verifique nas referências e vai observar que ele traz as os novos namespaces System.Web.DynamicData e System.Web.DynamicData.Design.
A funcionalidade Dynamic Data Controls trabalha em conjunto com o LINQ TO SQL e Entities FrameWork, pois ele precisa de uma interface de acesso a dados que será utilizada para gerar as funcionalidade em tempo de execução.
Bem agora para continuarmos com o exemplo precisamos de uma base de dados e um diagrama LINQ que será utilizado pela aplicação. Vou utilizar um banco de dados .mdb so SQLExpress que já tenho pronto.


Agora vou criar o Diagrama LINQ e adicionar as tabelas que desejo trabalhar em meu projeto, para isso basta clicar com o lado direto do mouse no projeto, selecionar a opção add new item, e selecionar o DataClasses.dbml do LINQ. Como na imagem abaixo.

 

Feito isso, agora vamos arrastar as tabelas que iremos utilizar no projeto para o diagrama do LINQ. Como na imagem abaixo.

 

Agora vem a parte mais simples do projeto que será a implementação propriamente dita, ou seja onde colocamos a mão na massa, mais fique tranqüilo que com esta ferramenta trabalharemos muito pouco pois a idéia e que tudo seja gerado em tempo de execução. Para isso temos que configurar o Dynamic Data para utilizar o LINQ to SQL e gerar automaticamente as telas de manipulação das tabelas do diagrama.

O primeiro lugar que vamos alterar e no arquivo global.asax nele devemos localizar o método RegisterRoutes() e dentro do mesmo modifique a linha Model.RegisterContext adicionando o nome do diagrama gerado pelo LINQ que para o nosso exemplo que foi DataClassesDataContext  alterando o valor de ScaffoldAllTables para true


 

OBS: Esta linha geralmente vem comentada dentro do arquivo global.asax  devemos descomenta-la e fazer as alterações necessárias 

Pronto acabamos nosso projeto! Você pode estar se perguntando, nossa mais não fiz “quase nada”... 
Para ver o resultado basta rodar sua aplicação, e você verá as paginas de lista, inserção, deleção e edição prontas para utilização. Como nas imagens abaixo.

Aqui temos o menu principal com acesso a todas as paginas do sistema:


 

Ao Clicar no link de Produtos olha que legal, teremos um grid com os produtos cadastrados, onde as colunas do Grid são as mesmas colunas da Tabela, e o mais interessante e o filtro que foi gerado automaticamente de acordo com as Chaves da tabela de Produtos, tem também a paginação do Grid e tudo isso sem escrever nenhuma linha de código, temos também links para edição e deleção do produto e isso acontece para todas as tabelas relacionadas no diagrama.

Note fizemos esse projeto em 45 min.



 



Você pode estar se perguntando e o layout como fica, não gostei desse, esta fora do padrão da minha empresa ou do meu site, não tem problema ele e feito todo em cima de CSS, você poderá customizar tudo, pode também gerar paginas personalizadas editar somente o GRID de Produtos, a ferramenta e bem Flexível. Agora você precisa tomar cuidado para que sua customização não te leve a fazer tudo do zero ai vale mais apena fazer de outra maneira. Esta ferramenta trará maior benefício se tiver pouca customização.

Bons Códigos...

Tags:

.Net

Comentários

5/8/2009 09:03:34 #

payday loans

Wow and wow! Thank you! I always wished to write in my site something like that. Can copy a part of your post to my blog?

payday loans | Reply

5/8/2009 09:03:38 #

payday loans

Wow and wow! Thank you! I always wished to write in my site something like that. Can copy a part of your post to my blog?

payday loans | Reply

16/9/2009 03:24:08 #

payday loan

Please, can you PM me and tell me few more thinks about this, I am really fan of your blog...

payday loan | Reply

17/9/2009 02:21:23 #

payday loan

Hello. Great job. I did not expect this on a Wednesday. This is a great story. Thanks!

payday loan | Reply

17/9/2009 02:21:29 #

payday loan

Hello Guru, what tempt you to post an article. This article was exceedingly fascinating, especially since I was searching for thoughts on this subject last Thursday.

payday loan | Reply

24/9/2009 06:25:02 #

payday loan

VRy interesting to read it Tong Laughing

payday loan | Reply

6/10/2009 09:01:23 #

personal loan

I don�t usually reply to posts but I will in this case.  Smile

personal loan | Reply

4/6/2010 02:47:46 #

hickory nc furniture stores

My goodness, I thought you were going to chip in with some decisive insight at the end there, and you did not leave it with just furniture.

hickory nc furniture stores | Reply

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading



Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen