Visual Basic - Ayuda con este codigo

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con este codigo

Publicado por Hector (3 intervenciones) el 02/02/2003 21:02:38
Hola a todos. tengo el siguiente codigo para buscar una cadena en un control msflexgrid:

Dim Search, Where ' Declara variables.
' Obtiene del usuario la cadena de búsqueda.

Search = InputBox("Escriba el texto que desea buscar:")
Where = InStr(gridInvent.Text, Search) ' Busca la cadena en el texto.
If Where Then ' Si se encuentra,
gridInvent.RowSel = Where - 1
'gridInvent.ColSel = Where - 1 ' se establece el inicio de la selección
Else
MsgBox "No se encontro" ' Se notifica al usuario.
End If

Solo que tengo un problema, solo lo busca en la celda actual y no en todo el control.
Quisiera que alguien me dijera como hacer para que me lo busque en todo el control.

Otra pregunta que tengo es como puedo seleccionar todos los registros mostrados en un grid con apretar un boton, y como eliminarlos todos con apretar un boton.

de antemano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con este codigo

Publicado por alberto (278 intervenciones) el 03/02/2003 15:10:45
InStr busca en la cadena que se le pasa como argumento, y la propiedad Text del msflexgrid es el texto de la celda actual, así que si quieres encontrar el texto en cualquier celda debes utilizar la propiedada TextMatrix(Fila,columna) donde fila y columna recorren la totalidad de las filas y columnas del grid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias alberto pero...

Publicado por Hector (2 intervenciones) el 03/02/2003 22:53:53
Lo he intentado, pero no se como asignar las filas y las columnas al textmatrix para que lo busque en todo.

Te agradeceria si me pudieras explicar mas detalladamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias alberto pero...

Publicado por alberto (278 intervenciones) el 04/02/2003 15:28:38
Transfoma el código anterior en:
Dim Search, Where ' Declara variables.
' Obtiene del usuario la cadena de búsqueda.
Dim Fila, Columna As Integer

Search = InputBox("Escriba el texto que desea buscar:")
For Fila = gridInvent.FixedRows To gridInvent.Rows - gridInvent.FixedRows - 1
For Columna = gridInvent.FixedCols To gridInvent.Cols - gridInvent.FixedCols - 1
Where = InStr(gridInvent.TextMatrix(Fila, Columna), Search) ' Busca la cadena en el texto.
If Where Then ' Si se encuentra,
'Se ha encontrado el texto en la celda (Fila, Columna)
Else
End If
Next Columna
Next Fila
y añade el código que precises para los casos no encontrados, que indique en que celda se encontro,...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar