Clique aqui para instalar o Silverlight*
BrasilAlterar|Todos os sites da Microsoft
MSDN
|Developer Centers|Biblioteca|Downloads|Assinaturas MSDN
Pesquisa rápida


Criando um link no GridView - ASP.NET 2.0

Por Renato Haddad, Microsoft Most Valuable Professional .NET Mobile Devices. Editor da revista MSDN Magazine Brasil, autor de diversos livros e ministra palestras e treinamentos sobre a tecnologia .NET.

Tecnologias Utilizadas
- ASP.NET 2.0

Uma das funcionalidades proporcionadas pela WEB é o uso do hyperlink entre páginas. Quando você submete uma página ao servidor através de um link, este é passado via URL e a página chamada deverá receber o pedido, identificar o conteúdo e tratá-lo. Esta prática é muito comum em qualquer página da WEB. No ASP.NET 2.0 temos o novo controle chamado GridView, o qual permite customizar colunas para disponibilizar links entre páginas.

O objetivo deste artigo é ler uma base de dados, montar um GridView contendo somente algumas colunas com os dados e um link para outra página, o qual irá capturar o dado passado como argumento e tratá-lo.

Abra o Visual Studio .NET 2005, selecione o menu File / New / Web Site e crie um novo projeto com as seguintes características:

Clique em OK para criar o projeto. Abra o Solution Explorer, clique com o botão direito sobre a solução e selecione Add New Item do tipo Web Form chamado GridViewMaster.aspx.

Digite um texto no corpo da página, exiba a Toolbox, a categoria Data e arraste o controle GridView.

É exibida uma Smart Tag contendo as opções disponíveis neste momento. Selecione Auto Format e aplique uma formatação para personalizar a exibição do GridView.

O próximo passo é definir uma fonte de dados. Em Choose Data Source, selecione <new data source>. São exibidas todas as possíveis fontes de dados para o controle GridView, e como usaremos o banco de dados Northwind do SQL Server como exemplo, selecione Database. Note que você usar qualquer provider existente para .NET. Clique em OK.

Para montar a conexão, você duas opções:

1.

Caso já tenha definida alguma conexão que esteja armazenada no arquivo Web.Config, esta é exibida na lista para que você use-a. A enorme vantagem disto ocorre na manutenção de qualquer item da string de conexão. Neste caso, vou utilizar a conexão chamada myConnection que eu já criei em outro artigo.

2.

Clique no botão New Connection, informe os dados da conexão e teste para verificar o acesso.

Clique em Next e selecione a tabela Employees com os seguintes campos:

Clique em Next, teste a consulta e clique em Finish para finalizar o processo.

O próximo passo é inserir um nova coluna com hyperlink contendo toda a expressão para montar o link para a página que exibirá todos os dados completos do empregado. Exiba a Smart Tag, selecione Edit Columns. Selecione em Available Fields o controle Hyperlink Field e clique no botão Add. Configure as seguintes propriedades, conforme figura a seguir.

HeaderText: View Details
Text: Detalhes…
DataNavigateUrlFields: EmployeeID (que é o campo chave que será passado como argumento)
DataNavigateUrlFormatString: employeeDetails.aspx?employeeid={0} (contém o nome da página a ser chamada e o devido parâmetro)

Adicione mais uma coluna Hyperlink e configure da conforme a seguir. Este link chamará a mesma página, no entanto, passará dois argumentos identificados como employeeid e nome.

HeaderText: link com 2 campos
Text: Ver detalhes…
DataNavigateUrlFields: EmployeeID,FirstName (você pode inserir vários campos separados por vírgula)
DataNavigateUrlFormatString: employeeDetails.aspx?employeeid={0}&Nome={1}

Salve o projeto e execute no Browser (CTRL + F5). Passe o mouse sobre os links e note no rodapé como que está montado o link.

Página de Detalhes

O próximo passo é criar a página de detalhes deste link. Adicione um novo formulário chamado employeeDetails. Digite um texto e arraste o controle DetailsView para o corpo da página.

Na Smart Tag, selecione em Choose Data Source a opção <New data source>. Deixe o Database selecionado e clique em OK.

A conexão será a myConnection definida anteriormente. Clique em Next.

Selecione a tabela Employees com todos os campos.

No entanto, você precisa definir qual é a origem desta consulta, ou seja, haverá um critério para filtrar somente o empregado passado como argumento. Portanto clique no botão WHERE e monte a seguinte condição. Note que o dado vem da URL, portanto, é QueryString. Em QueryString Field, digite employeeid que é o nome do parâmetro e clique no botão Add.

Veja a nova condição declarada na instrução SQL.

Clique em Next e Finish para finalizar o processo. Aplique um format no DetailsView para melhorar a visualização. Para montar o link de volta à página principal, arraste o formulário GridViewMaster.aspx do Solution Explorer para dentro do corpo desta página abaixo do DetailsView. Será colocado um link automaticamente.

Execute o GridViewMaster no browser novamente, clique no link de um empregado e veja todos os dados.

Note que os dados são exibidos conforme o parâmetro passado correspondente ao ID do empregado. Algum campos não ficarão com uma boa apresentação, então, na Smart Tag selecione Edit Fields e para os campos BirthDate e HireDate aplique o formato {0:d} para a data na propriedade DateFormatString. Para o campo Region, insira o "---" na propriedade NullDisplayText, fazendo com que caso o campo esteja núlo, seja exibido o respectivo texto ou caracter declarado na propriedade.

Conclusão

O uso de links no GridView permite uma integração com qualquer outra página através da passagem de parâmetros, se necessário. Com isso, as interfaces com os usuários ficam mais inteligíveis, de fácil entendimento e a manutenção é rápida.

Bons estudos e lembre-se: No Stress, think GridView ASP.NET 2.0

Renato Haddad (rehaddad@msn.com) é MVP, editor da revista MSDN Magazine Brasil, ministra treinamentos e palestras sobre .NETe autor de diversos livros e treinamentos em CD multimídia de ASP.NET, SQL Reporting Services, Visual Studio .NET 2003 e Aplicações Móveis para celulares e Pocket PC, tanto no Brasil como em outros países da América Latina.


 

©2017 Microsoft Corporation. Todos os direitos reservados. Entre em contato |Nota Legal |Marcas comerciais |Política de Privacidade
Microsoft