Desenvolvimento - C#

Adicionando Menu no DataGridView

Nesse artigo veremos como adicionar um menu dentro do DataGridview, ou seja, dentro do grid ao clicar com o botão direito aparecer as opções adicionadas.

por Mauricio Junior



         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.aspneti.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 MenuItem e 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

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org