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

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

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

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.