Desenvolvimento - Visual Basic .NET

Pesquisa em DataGrid – Visual Basic .NET

Com a vinda do .NET é possível realizar algumas tarefas que nas versões anteriores do VB era um drama para executar, agora tudo ficou muito mais simplificado desde que saiba todos os recursos que cada uma das inúmeras classes oferecem.

por Jefferson Gobi Barbosa



Com a vinda do .NET é possível realizar algumas tarefas que nas versões anteriores do VB era um drama para executar, agora tudo ficou muito mais simplificado desde que saiba todos os recursos que cada uma das inúmeras classes oferecem.

Bem, vamos ao que interessa.

Para criar a função que pesquisa dentro de um DataGrid , basta seguir os passos a seguir:

  1. Abra a parte do código do WinForm;
  2. Crie uma variável Privada a classe da seguinte forma:

Listagem 1: Criando variável privada

1
2
3
Private WithEvents CM As CurrencyManager
Me.CM = CType (Me.BindingContext(Me.DataGrid1.DataSource, _
Me.DataGrid1.DataMember ), CurrencyManager)

O código da Pesquisa ficará da seguinte forma:

Listagem 2: Código da pesquisa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Public Sub Localiza(ByRef grd As DataGrid,
        ByRef CurrencyManage As CurrencyManager,
        ByVal pTexto As String, ByVal pCol As Integer)
 
    Dim Ix As Integer
    Dim Size As Integer
    Dim TxCampo As String
    Dim TxGrid As String
 
    TxCampo = pTexto.ToUpper
    Size = TxCampo.Length
 
    For Ix = 0 To CurrencyManage.Count - 1
        grd.UnSelect (Ix)
    Next
 
    CurrencyManage.Position = 0
    If Size = 0 Then Exit Sub
 
    For Ix = 0 To CurrencyManage.Count - 1
        TxGrid = Convert.ToString (grd.Item(Ix, pCol))
        If Microsoft.VisualBasic.Left (TxCampo, Size) =
                Microsoft.VisualBasic.Left(TxGrid, Size).ToUpper Then
           grd.Select (Ix)
           CurrencyManage.Position = Ix
           Exit For
        End If
    Next
End Sub

Depois deste método criado, para fazer a chamada a ele é muito simples, basta colocá-lo dentro do evento Change do TextBox criado anteriormente, e o mesmo ficará da seguinte forma:

Listagem 3: Chamada ao método

1
Localiza( Me.DataGrid1, CM, TextBox .Text, 1)

Espero que este código auxilie alguns colegas desenvolvedores. Até a próxima.

Jefferson Gobi Barbosa

Jefferson Gobi Barbosa - Líder do GUP .NET (Grupo de Usuários do Paraná - Plataforma .NET).
Professor do CEFET-PR (Unidade de Pato Branco).
Professor Orientador da CAP (Comunidade Acadêmica do Paraná - Plataforma .NET).
Diretor de Desenvolvimento de Software da Tanzyi Tecnologia.