DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Revista MSDN Magazine Edição 05 - Aplique Table Style e Column Style no DataGrid

Artigo Originalmente Publicado na MSDN Magazine Edição 05

msdn05_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Aplique Table Style e Column Style no DataGrid

por Kristy K. Saunders

 

Um dos mais persistentes desafios na criação de interfaces de usuário é definir como exibir grandes quantidades de dados de maneira eficiente e intuitiva, sem confundir o usuário. O problema torna-se particularmente complexo quando a interface deve refletir relacionamentos hierárquicos acerca dos dados que o usuário precisa modificar. O controle DataGrid do Windows Forms dá ao desenvolvedor uma ferramenta poderosa e flexível para enfrentar esse desafio. Este artigo explica suas operações básicas e mostra como permitir que o DataGrid exiba colunas de dados de maneira apropriada em aplicativos.

 

O DataGrid é um dos controles mais poderosos do Windows® Forms. Usando as configurações padrão das propriedades do DataGrid, você pode facilmente vincular um DataSet a um DataGrid para criar interfaces de usuário com o Windows Form bastante impressionantes—dessas que permitem que o usuário percorra níveis múltiplos de dados hierárquicos e classifique e ordene as colunas. Embora seja fácil começar a trabalhar com o controle DataGrid, seus recursos mais sofisticados—por exemplo, a criação de colunas personalizadas—continuam pouco documentados e exigem alguma tentativa e erro. Neste artigo explicarei como construir um DataGrid, ilustrarei os recursos básicos do controle e mostrarei como obter um controle abrangente sobre a aparência e o comportamento de tabelas e colunas. Finalmente, demonstrarei como é possível ampliar o controle DataGrid com objetos de estilo de coluna personalizados, por meio da implementação de um tipo que exibe valores em um Dropdown Combobox.

Aplicativo de quadro de horários (Timesheet)

Para ilustrar diversos recursos dos controles do DataGrid, este artigo analisará a implementação de um aplicativo de quadro de horários de uma firma fictícia de consultoria de software. Analise a Figura 1 para ver o aplicativo completo em funcionamento.

 

image001.gif 

Figura 1 Aplicativo de quadro de horários

 

A UI é um aplicativo Windows Forms que contém três controles DataGrid (Figura 2). O primeiro controle oferece uma listagem de todos os clientes somente para leitura. O segundo oferece uma listagem de todos os projetos associados ao cliente selecionado também somente para leitura. O terceiro controle DataGrid exibe as entradas do quadro de horas de um funcionário a serem cobradas no projeto selecionado. O DataGrid permite que o usuário insira e edite as entradas de horas, mas o usuário não pode modificar os itens nos controles DataGrid de cliente e projeto.

 

 

image002.gif 

Figura 2 Relacionamentos

 

Como carregar o DataSet

Os controles do DataGrid no aplicativo de quadro de horários vinculam um único objeto DataSet. Embora os DataGrids possam ser preenchidos a diversos tipos, os DataSets são suas fontes de dados mais comuns. O objeto DataSet do quadro de horário é preenchido a partir de um banco de dados, por meio de quatro objetos SqlDataAdapter. A criação e a configuração dos objetos SqlDataAdapter é simples por meio do assistente (wizard) de configuração do DataAdapter do Visual Studio® .NET. Observe que uso Stored Procedures com os objetos SqlDataAdapter para acessar as linhas das tabelas Client, Project, TimeEntry e Activity, e para inserir, atualizar e excluir linhas da tabela TimeEntry. Isso porque o aplicativo de quadro de horários usa colunas de identidade (ID – primary key) geradas pelo banco de dados—uma prática comum. Após uma operação de inclusão (Insert), esse valor gerado pelo banco de dados deve ser associado de volta à coluna correspondente no DataTable para operações subseqüentes naquela linha. O método mais confiável de obter esse valor é por meio de uma Stored Procedure INSERT, que o retorna o valor como um parâmetro de saída.

O código no manipulador de evento Load do formulário, mostrado na Listagem 1, preenche o DataSet quando o aplicativo é iniciado. Observe que a propriedade MissingSchemaAction do objeto SqlDataAdapter da entrada de hora é definida como MissingSchemaAction.AddWithKey. Isso provoca o retorno de mais informações de esquema, como informações de chave primária, informações de constraint e propriedades de colunas, inclusive se são permitidos valores null. Por padrão, o método Fill obtém somente metadados de nomes de colunas. Quando o aplicativo permitir que os usuários adicionem e atualizem linhas em um objeto do DataTable, as informações adicionais do DataTable ajudarão a detectar valores inválidos e violações de constraint.

 

Listagem 1 Carregando as quatro tabelas do DataSet

"

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Kristy K. Saunders
Kristy K. Saunders (kristy@sftsrc.com) é instrutora e consultora da SoftSource Consulting (http://www.sftsrc.com).
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03