Adicionando Menu no DataGridView


por Mauricio Junior em 1/1/2011 0

         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

 

voltar   comente  subir

 
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. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.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



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Como criar uma tabela dinâmica com ASP.NET
Encontrar o valor no texto
II Encontro .NET em Brasília
Lendo Arquivo txt usando Visual Studio.NET 2005
Registro Encontro .NET (Fotos)
Código fonte aberto
Ext JS
Web Administration Tool
Windows Mobile Phone
DateDiff com intervalos escolhidos por você
Windows Phone 7 e DLNA
WebService utilizando soapHeader e token
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Usando CalendarExtender para Mês e Ano
Consultando CEP via WebService
Novo iGas 2.0 Mobile
Ebook: Desenvolvendo WebServices
Vírus do Serasa por E-mail
Emulando o Windows Phone 7 em seu celular
Sistema de Login em ASP – Parte III
Visual SourceSafe - Série 5
Novo TechNet Experience Online
SELECT INSERT
Inserindo valor na combo depois de preenchida
Sistema de Login – Parte IV
Vídeo - Conecte
Mobilidade e Aplicativos Mobile
ASP.NET 2.0 - FileUpload
Aplicativo para Windows Phone 7 começa
Anime-se com o Silverlight
Alongar é preciso
ASP.MENU com Compatibilidade
Cache no .NET
Visual SourceSafe - Série 3
ReportViewer sem DataSet Tipado e gerando PDF