|
|
|
|
|
Dicas
|
|
Visual Basic (Grid/FlexGrid)
|
|
|
Título da Dica: Localizar o primeiro registro com determinada letra em um FlexGrid
|
|
|
|
Postada em 2/9/2004 por Rodrigo Braga
Este código usa o evento KeyPress do FlexGrid e pega o código ascii da letra pressionada pelo usuário para colocar a primeira linha com esta determinada letra no TopRow; por exemplo; em um grid com muitos registros (e ordenado alfabéticamente) ao se pressionar a tecla "F" (por exemplo) automaticamente o foco é lançado no primeiro registro com a tecla F . . . confira !
===============================================
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) If Trim(MSFlexGrid1.TextMatrix(1, 1)) <> "" Then If (KeyAscii > 65 And KeyAscii < 90) _ Or (KeyAscii > 97 And KeyAscii < 122) Then Dim I As Integer Dim S As String Dim X As String S = Chr(KeyAscii) S = UCase(S) For I = 1 To MSFlexGrid1.Rows - 1 X = Trim(MSFlexGrid1.TextMatrix(I, 1)) X = Left(X, 1) X = UCase(X) If S = X Then MSFlexGrid1.TopRow = I Exit For End If Next End If End If End Sub
|
|
|
|
|