AJUDA EM PESQUISA NO SGRID URGENTE

CAETANO 10/04/2007 11:29:37
#210964
Estou tentando adaptar um código que pesquisa valores no FlexGris , para pesquisar valores no SGRID.
O pojeto em anexo tem um form com um sgrid com 2 colunas , em uma text digito o valor a ser pesquisado.
Ao digitar no text o texto "Col1", notem que ele vai percorrendo todas as células do grid que contem a palavra Col1 , até ai td bem ,mas ao digitar Col2 ( valores que estão na coluna 2 do grid), ele acha o valor na primeira célula e não percorre as demais como na coluna.
Alguem pode me dar uma ajuda ?
USUARIO.EXCLUIDOS 10/04/2007 11:33:12
#210967

Poderia me mandar a ocx do Sgrid q vc usa por favor?

Grato
CAETANO 10/04/2007 11:35:54
#210969
Em anexo a ocx do SGrid
CAETANO 10/04/2007 11:37:22
#210971
Para ajudar , em anexo o projeto original usando o FlexGrid
USUARIO.EXCLUIDOS 10/04/2007 12:09:05
#210981
A ocx n funciona...da Run Time error 0...ta faltando alguma coisa?
CAETANO 10/04/2007 12:12:21
#210985
Tenta esta
RICATOM 10/04/2007 13:26:18
#211010
Mum modulo

'Desenvolvido pelo Matioli e adaptado por Ricardo Tomim
'Pesquisa no Sgrid enquanto digita no textbox
[c]Public Function PesqGrid(ByVal Grid As vbAcceleratorSGrid6.vbalGrid, ByVal vPesq As String, ByVal lCol As Long, ByVal rowInicial As Long, ByVal rowFinal As Long, ByVal i As Integer, Optional ByVal Maius As Byte = 0) As Boolean
If lCol = -1 Then lCol = Grid.SelectedCol
'Dim i As Integer
On Error Resume Next
With Grid
If vPesq <> "" Then
If .Rows > 0 Then
'For i = 1 To .Rows
For i = rowInicial To rowFinal
If Maius = 0 Then
If UCase(RetiraAcentos(.CellText(i, lCol))) Like "*" & UCase(RetiraAcentos(vPesq)) & "*" Then
.SelectedRow = i
.EnsureVisible i, lCol
.SetFocus
PesqGrid = True
Exit Function
Else
PesqGrid = False
End If
Else
If RetiraAcentos(.CellText(i, lCol)) Like "*" & RetiraAcentos(vPesq) & "*" Then
.SelectedRow = i
.EnsureVisible i, lCol
.SetFocus
PesqGrid = True
Exit Function
Else
PesqGrid = False
End If
End If
Next i

End If
Else
If .Rows > 0 Then
.SelectedRow = 1
.EnsureVisible 1, lCol
.SetFocus
End If
End If

End With
End Function

[/c]

Exemplo:

with me.Grid
Call PesqGrid(.Grid1, Me.txtPesquisar.Text, .SelectedCol, .SelectedRow + 1, .Rows, .SelectedRow)
end with

CAETANO 10/04/2007 14:02:20
#211028
Faltou a função RetiraAcentos
RICATOM 10/04/2007 15:27:33
#211051

Function RetiraAcentos(ByVal texto As String) As String
Dim i As Integer
Dim c As String
Dim nTexto As String
nTexto = ""
If Len(i) > 0 Then
For i = 1 To Len(texto)
c = (Mid$(texto, i, 1))
Select Case c
Case "á", "à", "ã", "â", "ä", "Á", "À", "Ã", "Â", "Ä"
c = "A"
Case "é", "è", "ê", "ë", "é", "È", "ÃÅ ", "Ë"
c = "E"
Case "í", "ì", "î", "ï", "Í", "ÃÅ’", "ÃŽ", "Ï"
c = "I"
Case "ó", "ò", "õ", "ÃÂ'", "ö", "Ó", "۪̉", "̉ۢ", "Ô", "Ö"
c = "O"
Case "ú", "ù", "û", "ü", "ÃÅ¡", "Ãâ„¢", "Û", "ÃÅ“"
c = "U"
Case "ç", "Ç"
c = "C"
Case "ñ", "Ñ"
c = "N"
End Select
nTexto = nTexto + c
Next
End If
RetiraAcentos = nTexto
End Function


CAETANO 11/04/2007 11:14:27
#211183
Copiei o código mas não funcionou.
Em anexo o exemplo , oque está errado ?
RICATOM 11/04/2007 11:40:12
#211202
faltou o form

Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas