DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Easy .net magazine
ou para quem possui Créditos DevMedia.

Clique aqui para saber como acessar este post

1) Torne-se um assinante MVP e por apenas R$ 69,90 por mês você terá acesso completo a todos os posts. Assinar MVP

2) Adquira Créditos: comprando R$ 180,00 em créditos esse post custará R$ 1,20. Comprar Créditos

easy .net Magazine 6 - Índice

GridView: Introdução - Artigo easy .net Magazine 6 - Parte 1

Essa série de artigos apresentará uma introdução ao componente GridView do ASP.NET. Através de exemplos práticos veremos como podemos utilizar o GridView para se conectar aos mais variados tipos de DataSources, de arquivos XML a bancos de dados, passando por ferramentas de O/RM como o Entity Framework.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Introdução ao GridView -

 

Parte 1

 

Explorando as capacidades do controle

 

GridView no ASP.NET

 

 

Do que trata o artigo

Essa série de artigos apresentará uma introdução ao componente GridView do ASP.NET. Através de exemplos práticos veremos como podemos utilizar o GridView para se conectar aos mais variados tipos de DataSources, de arquivos XML a bancos de dados, passando por ferramentas de O/RM como o Entity Framework.


Para que serve

Introduzir os conceitos e fundamentos do controle GridView do ASP.NET. O GridView serve como um controle fácil e rápido para exibir dados em forma de tabela na Web, é muito simples de utilizar e é o controle que tem mais funcionalidades no ASP.NET, conhecê-lo é fundamental.


Em que situação o tema é útil

Para desenvolvimento de soluções que necessitem de apresentação de dados através de Grids no ASP.NET. É útil para criar aplicações Web de banco de dados rapidamente, com as funções básicas, como listar dados, editar, procurar etc.

 

Resumo do DevMan

Esta série de artigos mostra uma introdução no desenvolvimento de aplicações Web utilizando o controle GridView. Esse controle é capaz de exibir informações de uma fonte de dados, como por exemplo, um banco de dados SQL Server, ou uma ou mais entidades do Entity Framework, ou ainda de um arquivo XML. Serão apresentados diversos exemplos cobrindo as principais funcionalidades do GridView em diversos cenários.

 

Desde a primeira versão do ASP.NET, um dos controles mais utilizados foi o DataGrid, pela sua facilidade em mostrar os dados no formato de tabela. Em comparação a forma como fazíamos no ASP 3.0, o DataGrid trouxe muita agilidade e produtividade, uma vez que as funções repetitivas (paginação, ordenação, binding de dados) eram realizadas de maneira rápida.

A primeira ideia de quem começa com ASP.NET é fazer aplicações Web iguais a aplicações Desktop. Especificamente, em relação ao Grid, adicionar imagens, controles e formatações de acordo com determinado campo, são as primeiras funcionalidades que desejamos. O DataGrid é muito customizável, mas o GridView trouxe muito mais facilidades ao desenvolvedor, como atualização, exclusão e seleção de dados, de forma muito simples.

 Neste artigo, veremos uma introdução aos principais conceitos para uso do GridView dentro do desenvolvimento de aplicações Web com o ASP.NET.

Um GridView precisa de uma fonte de dados

É muito comum trabalharmos com acesso a dados em qualquer tipo de aplicação, seja Windows, Web, Web Service etc., e com isso, escrevemos diversos tipos de códigos para diversas operações, como por exemplo: paginação, habilitar a ordenação, exibição de registro detalhado, edição e exclusão.

Como estas tarefas são bastante utilizadas em nosso dia-a-dia, a Microsoft criou controles do tipo Data Bound para não precisarmos ir diretamente ao código para criar tais funcionalidades. Esses controles são: SqlDataSource, ObjectDataSource, XmlDataSource, entre outros que veremos mais adiante.

Esses controles são totalmente compatíveis com o GridView, permitindo com esta integração, uma grande facilidade em criar aplicações que acessam e manipulam os dados de forma bem fácil e intuitiva (através das Smart Tags), permitindo assim atingir também desenvolvedores iniciantes que ainda não estão à vontade trabalhando diretamente com código.

Os controles Data Bound encapsulam a maioria das operações, que antes precisavam ser desenvolvidas para diferentes repositórios de dados. Isso tira a preocupação de definir e/ou gerir a conexão com a base de dados, a query e seus respectivos parâmetros que serão utilizados. Através de propriedades podemos especificar seus devidos valores em design-time.

A seguir vemos a finalidade de cada um desses controles:

AccessDataSource: Fornece acesso a uma base de dados Microsoft Access;

SqlDataSource: Fornece acesso a uma base de dados SQL Server. Temos nele propriedades essenciais, como por exemplo, os comandos SelectCommand, InsertCommand, DeleteCommand e UpdateCommand, que é onde definimos os comandos (querys ou Stored Procedures) que serão executados para cada ação. Podemos definir estas propriedades via design (IDE), através das janelas de propriedades do Visual Studio ou declarativamente no código HTML da página ASPX. Utilizando a IDE do Visual Studio existem as chamadas Smart Tags, que são uma espécie de "Wizard", onde podemos configurar passo a passo cada uma dessas propriedades, habilitando inclusive uma opção para manipular as colunas que queremos exibir ao usuário;

ObjectDataSource: Fornece acesso a um determinado método de uma classe. Estas classes geralmente encapsulam o acesso à base de dados, ou qualquer repositório, retornando uma coleção de objetos que deve ser apresentada ao usuário. Este objeto destina-se também a vincular os dados ao controle GridView, mas utilizando uma função de uma classe qualquer que nos retorne uma coleção de objetos. Porém sem a necessidade de fazer diretamente via código. O processo de vinculação é também parecido com o objeto SqlDataSource em relação à forma de vínculo ao GridView; o que difere logicamente é o assistente que é exibido para a configuração do mesmo;

SiteMapDataSource: O controle SiteMapDataSource obtém os dados de navegação do mapa do site. Esses dados incluem informações sobre as páginas em sua página Web, como a URL, título, descrição e localização na hierarquia de navegação. Quando exibimos os dados de navegação em um GridView tornamos mais fácil adicionar e remover itens no menu navegacional do seu Web site, facilitando a manutenção dessas informações;

EntityDataSource: Fornece acesso e manipulação de uma fonte de dados criada com o Entity Framework. Esse controle permite que você consulte um EDM (modelo de dados de entidade) e faça o bind dos resultados no GridView;

LinqDataSource: O controle LinqDataSource expõe consulta integrada à linguagem (LINQ) para os desenvolvedores Web através da arquitetura de controle da fonte de dados do ASP.NET. LINQ fornece um modelo de programação unificado para requisitar e atualizar dados de diferentes tipos de fontes e estende as capacidades dos dados diretamente para o C#. LINQ simplifica a interação entre programação orientada a objetos e dados relacionais aplicando princípios de programação orientada a objetos a dados relacionais;

XmlDataSource: Fornece acesso e manipulação a um arquivo XML.

Entendendo os tipos de parâmetros

Quando utilizamos algum objeto de DataSource, temos ainda uma seção dentro deles que não exploramos. Esta seção é definida através dos elementos FilterParameters, SelectParameters, InsertParameters, DeleteParameters e UpdateParameters. É através deles que passamos para a query, Stored Procedure ou método quando for uma classe de negócios, os valores para os parâmetros que são necessários para efetuar a operação corretamente.

Dentro desta seção podemos definir os parâmetros que serão utilizados, porém customizando-os de acordo com a sua origem, ou seja, podemos ter parâmetros provenientes de QueryStrings, variáveis de sessão, Cookies, controles do formulário, entre outros.

Para cada um destes tipos de parâmetros existe uma classe específica que é herdada diretamente da classe Parameter que está contida no namespace System.Web.UI.WebControls. A classe Parameter fornece um mecanismo para preencher os parâmetros necessários na query, Stored Procedure ou classe de negócios. É esta a classe base para todos os tipos de parâmetros do ASP.NET.

Veja na Tabela 1 os tipos de parâmetros suportados pelo ASP.NET, que são classes derivadas da classe Parameter.

 

Classe

Descrição

ControlParameter

Este tipo de parâmetro é responsável por resgatar um determinado controle do WebForm através da propriedade ID que deve ser passada para este parâmetro através da propriedade ControlID. Outra propriedade essencial a este tipo de parâmetro é a PropertyName, na qual você deverá informar qual é a propriedade do controle que o ASP.NET deverá recuperar o valor. A seguir são listados os controles e suas respectivas propriedades que são utilizadas neste cenário:

Label.Text

TextBox.Text

ListControl.SelectedValue

CheckBox.Checked

Calendar.SelectedDate

DetailsView.SelectedValue

GridView.SelectedValue

TreeView.SelectedValue

FileUpload.FileBytes

CookieParameter

Neste caso é passado ao parâmetro o valor contido dentro de um objeto do tipo HttpCookie. Deve-se informar através da propriedade CookieName o nome do Cookie a ser recuperado.

FormParameter

Define o valor do parâmetro com o valor que está contido dentro de um controle HTML. Deve-se informar através da propriedade FormField o nome do controle HTML a ser recuperado.

ProfileParameter

Define o valor do parâmetro com o valor que está contido dentro de uma propriedade do objeto Profile. Deve-se informar através da propriedade ParameterName o nome da propriedade do objeto Profile a ser recuperado.

QueryStringParameter

Define o valor do parâmetro com o valor que está contido dentro de uma QueryString. Deve-se informar através da propriedade QueryStringField o nome da QueryString a ser recuperada.

SessionParameter

Define o valor do parâmetro com o valor que está contido dentro de uma variável de sessão. Deve-se informar através da propriedade SessionField o nome da variável de sessão a ser recuperada.

Tabela 1. Tipos de parâmetros

 

Tipos de eventos

Como estes objetos derivam de uma classe em comum (DataSourceControl) os mesmos têm alguns eventos semelhantes. Veremos cada um desses eventos e suas respectivas descrições listadas na Tabela 2.

 

Evento

Descrição

Deleted

Ocorre quando a exclusão é completada.

Deleting

Ocorre antes de executar a operação de exclusão.

Filtering

Ocorre antes de executar a operação de filtro.

Inserted

Ocorre quando a inserção é completada.

Inserting

Ocorre antes de executar a operação de inserção.

Selected

Ocorre quando a seleção é completada.

Selecting

Ocorre antes de executar a operação de seleção.

Updated

Ocorre quando a atualização é completada.

Updating

Ocorre antes de executar a operação de atualização.

ObjectCreated*

"

A exibição deste artigo foi interrompida

Este post está disponível para assinantes MVP.



Possui as certificações MCAD e MCSD .Net, com aproximadamente dez anos de experiência em desenvolvimento de software. Atua há 7 anos com a plataforma .NET construindo aplicações Web e coordenando equipes de desenvolvimento. Mantém [...]

O que você achou deste post?
Serviços

Mais posts