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 JuniorOlá 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