Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: deanelker en 27 Enero 2010, 16:51 PM

Título: pocisionar lo encontrado en un mshflexgrid
Publicado por: deanelker en 27 Enero 2010, 16:51 PM
hola  mi problemita es este yo tengo este codigo para la busqueda, esta excelente, me busca letra o sino la palabra completa.

Dim nlibro As Integer, i As Integer

With MSHFlexGrid1
 
.Col = 1
For i = 0 To .Rows - 1
.Row = i
nlibro = InStr(UCase(.Text), UCase(txtbusqueda.Text))
If nlibro = 1 Then
.ColSel = 6
.TopRow = 1
Exit For
End If
Next i
End With
lo que yo quiero es que cuando me busque digamos un registro 100 se vaya al registro 100 y me aparezca en pantalla el registro 100.

por que el codigo anterior me busca, los selecciona, pero no se va al registro 100 me explico. por fa ayudenme.
Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: Sk9ITk5Z en 27 Enero 2010, 19:55 PM
cuando le das buscar donde te lo muestra???


nlibro = InStr(UCase(.Text), UCase(txtbusqueda.Text))

alo que veo solo tienes que poner "nlibro" donde lo quieras mostrar, osea si quieres verlo en una ventana usa en msgbox

Código (vb) [Seleccionar]
msgbox nlibro
Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: ssccaann43 © en 27 Enero 2010, 19:58 PM
Cuando dices que no se va al registro 100, es que no mueve la grilla y se enfoca???
Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: seba123neo en 27 Enero 2010, 20:31 PM
Hola, proba algo asi:

Código (vb) [Seleccionar]
Option Explicit

Private Sub Command1_Click()
    Call Buscar("Palabra 100")
End Sub

Private Sub Form_Load()
    With MSHFlexGrid1
        .FixedCols = 0
        .FocusRect = flexFocusNone
        .SelectionMode = flexSelectionByRow
       
        .FormatString = "Items"
       
        Dim i As Integer
       
        For i = 1 To 1000
            .AddItem "Palabra " & (i)
        Next
       
        .ColWidth(0) = 1500
        .RemoveItem 1
    End With
End Sub

Private Sub Buscar(ByVal pPalabra As String)
    Dim i As Long
   
    For i = 1 To MSHFlexGrid1.Rows - 1
        If LCase(MSHFlexGrid1.TextMatrix(i, 0)) = LCase(pPalabra) Then
           MSHFlexGrid1.Row = i
           MSHFlexGrid1.RowSel = i
           MSHFlexGrid1.Col = 0
           MSHFlexGrid1.ColSel = MSHFlexGrid1.Cols - 1
           MSHFlexGrid1.TopRow = i
           Exit For
        End If
    Next i
End Sub


saludos.
Título: Re: pocisionar lo encontrado en un mshflexgrid
Publicado por: deanelker en 29 Enero 2010, 16:09 PM
oye me funciono seba123neo gracias por el aporte