Olá pessoal, gostaria de mostrar hoje como adicionar um menu dentro do DataGridview, ou seja, dentro do grid, ao clicar com o botão direito aparecer as opções adicionadas.

 

Requisitos:

- Linguagem C#.NET

- Ferramenta de desenvolvimento Visual Studio.NET 2008

- Framework 3.5

- Componente utilizado: DataGridView e ContextMenuStrip

 

Resultado final

         Segue o resultado final da proposta no artigo. (Imagem 1)

 

Imagem 1

 

         O exemplo Ă© bem simples e tranqĂĽilo, pois o que precisa ser feito Ă© clicar com o botĂŁo direito em cima da grid preenchida para aparecer o menu com as opções. Lembrando que nĂŁo vou mostrar como preencher o grid passo a passo, para mim vocĂŞ já sabe fazer isso.

 

Na prática

         O primeiro passo Ă© escolher no Toolbox o componente DataGridView e colocar no formulário .cs gerado. (Imagem 2)

 

Imagem 2

 

         Depois de colocar o componente no form, preenchi o mesmo com os dados vindos do banco de dados. (Code 1)

 

 

DataTable dt = _passadaBRL.BuscaDocumentosPassadaMonitoracao(dataMovimento, poloId, poloCapturaId);

this.gvPassada.DataSource = dt;

 

Code 1

 

         Os dados foram preenchidos com o DataTable retornado. Adicionei ele ao DataSource do meu grid chamado gvPassada. VocĂŞ pode colocar qualquer nome no componente; vai de acordo com o gosto. PorĂ©m eu dou uma dica para quem quer saber como colocar nomes nos objetos de tela, veja o link com os padrões. http://www.ecode10.com/Padroes+de+nomenclaturas+261,0.aspx

         Existe outro componente importante que vou utilizar chamado ContexMenuStrip. Acessei o Toolbox e adicionei o componente ao mesmo formulário do grid. (Imagem 3)

 

Imagem 3

 

         Deixei o objeto com o mesmo. Existem duas propriedades importantes que mostro logo abaixo. (Imagem 4)

 

Imagem 4

 

Propriedades

         RenderMode: Mudar a aparĂŞncia de como vai aparecer no formulário. Existem as opções System, Professional e Manager Render Mode.

         Items: É onde coloco o submenu ou mais de, um para aparecer.

        

         O prĂłximo passo Ă© colocar essa coleção de itens para aparecer no formulário. Cliquei no botĂŁo (...) ao lado do item e aparecer a imagem 5.

 

Imagem 5.

         Logo no topo da tela, existem algumas opções para serem adicionadas. Escolhi o MenuIteme coloquei na propriedade Text o nome (Carregar Imagens Digit...), pode colocar qualquer texto, Ă© o que vai aparecer ao usuário final depois de clicar com o botĂŁo direito.

         Na propriedade Name, coloquei um nome para cada um, esse foi mnuCarregar, na outra, mnuCancelar.

         O menu ficou em cima do formulário. (Imagem 6)

 

Imagem 6

 

         Agora, posso clicar duas vezes em cima do nome e automaticamente o Visual Studio cria um mĂ©todo para fazer o que for preciso. Para pegar o documento especĂ­fico selecionado, fiz dessa maneira. (Code 2)

 

 

DataRowView dtRowView = gvPassada.SelectedRows[0].DataBoundItem as DataRowView;

DataRow dtRow = dtRowView.Row;

 

Code 2

VĂ­nculo entre os dois componentes

         O vĂ­nculo entre os dois componentes Ă© feito dentro das propriedades do GridView. A propriedade responsável Ă© a ContextMenuStrip, ao clicar nas opções já aparece o nome do objeto. (Imagem 7)

 

Imagem 7.

 

         O resultado final do projeto Ă© ter um clique com o botĂŁo direito em cima de um objeto. Bem legal e fácil. (Imagem 8)

 

Imagem 8

 

Espero que tenha gostado. Qualquer dĂşvida pode entrar em contato pelo site.

 

Mauricio Junior

Site pessoal: www.mauriciojunior.org