DBGrid - Capturando o conteúdo da célula selecionada
Quer saber como capturar o conteúdo de uma célula de um controle DBGrid ? Então acompanhe...
Você já deve estar careca de saber que o DBGrid é um controle geralmente usasdo no modo vinculado a um controle DAO Data Control.
Você faz assim :
1- Insere um controle Data Control - Data1 - no seu formulário e define as propriedades :
2- Inclui um controle DBGrid - DBGrid1 - no seu formulário e define sua propriedade : DataSource igual ao nome usado no controle ADO Data control anterior
Vou usar o banco de dados Biblio.mdb e a tabela Authors . Quando o usuário clicar em uma célula do Grid iremos capturar o seu valor e exibí-lo em um controle Label - lblcelula.
O projeto com os
controles : Data1 , DBGrid1 e lblcelula
|
Insira o código que define duas variáveis visíveis em todo o formulário que usaremos para armazenar a posição da linha e da coluna:
Dim Valor_Linha As Integer Dim Valor_coluna As Integer |
No evento Click do DBGrid insira o código que irá exibir o conteúdo da célula selecionada:(Aqui se o valor das variáveis for menor que 0 iria ocorre um erro na execução)
Private Sub DBGrid1_Click() If Valor_coluna > -1 And Valor_Linha > -1 Then lblcelula.Caption = DBGrid1.Columns(Valor_coluna).CellValue(DBGrid1.RowBookmark(Valor_Linha)) End If End Sub |
No evento MouseDown do DBGrid insira o código que irá capturar o valor da célula:
Private Sub DBGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Valor_Linha = DBGrid1.RowContaining(Y) Valor_coluna = DBGrid1.ColContaining(X) End Sub |
Rode o projeto e clique em qualquer célula ; o seu conteúdo será exibido no controle lblCelula:
Moleza... , até mais...
José Carlos Macoratti