VB.NET - Pesquisa em DataGrid
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:
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:
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 para ele é muito simples, basta colocá-lo dentro do
evento Change do
TextBox
criado anteriormente, e o mesmo ficará da
seguinte forma:
Localiza(
Me.DataGrid1, CM, TextBox
.Text,
1)
Espero que este código
auxilie alguns colegas desenvolvedores.. até a próxima.
Autor do Artigo
Jefferson Gobi Barbosa
Co-Organizador do GUP .Net
http://www.gupnet.com.br
Grupo de Usuários do
Paraná - Plataforma .Net