Power Builder - Analista de Sistemas

 
Vista:

Analista de Sistemas

Publicado por Gerardo Flores L (10 intervenciones) el 19/02/2004 20:16:26
Busquedas de un texto dentro de un ListView control

ListViewItem lvi

lvi.Label = "First~tSecond~tThird"
lv_1.AddItem( lvi )

Tengo un Data Store que me trae el campo First, Second y Third, despues los agrego con el additem a mi control ListView para crear mi lista.

Ahora, yo quiero buscar dentro de la lista el campo Third, Second o First , Estoy tratando con la funcion FindItem pero esta solo funcion solo me encuentra el campo First cuando yo busco el campo second o third no los encuentra

Pregunta: Uds. saben como puedo hacer una busqueda de un texto dentro de un ListView control

Esta es mi funcion Get_Find()

Open(w_get_text) - Captura de texto para buscar en el ListView Control

ls_label = Message.StringParm
IF ls_label = "" THEN
RETURN
ELSE
li_index = lv_1.FindItem(0,ls_label, TRUE,TRUE)
END IF

IF li_index = -1 THEN
MessageBox("MESSAGE ERROR", "Item Not Found ..!!!",Exclamation!)
ELSE
lv_1.GetItem (li_index, l_lvi )
l_lvi.HasFocus = TRUE
l_lvi.Selected = TRUE
lv_1.SetItem(li_index,l_lvi)
END IF

Por su ayuda 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:Analista de Sistemas

Publicado por Ricardo (1957 intervenciones) el 20/02/2004 00:23:07
El problema radica en que no cambias de indice, siempre utilizas 0, por ello solo te busca en el primer item, esto es:

li_startindex = lv_list.SelectedIndex()
li_index = lv_list.FindItem(li_startindex, ls_label, TRUE,TRUE)

Suerte!
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:Analista de Sistemas

Publicado por Gerardo Flores L (10 intervenciones) el 20/02/2004 20:48:09
Las busquedas por default comienzan de startindex + 1 . Si tu quieres que empieze a buscar desde el principio de la lista debes especificar 0.

imagina que esta es mi lista de 10 items en la lista con sus respectivos campos:

First Second Third
Abril-2002 GFL 01/04/2002
Abril-2003 ADM 08/04/2003
Agosto-2002 FLL 01/08/2002
Agosto-2003 GFL 11/08/2003
Enero-2002 GFL 31/12/2001
Enero-2003 GFL 05/01/2003
Enero-2004 PTR 01/01/2004
Febrero-2002 FLL 01/02/2002
Febrero-2003 GFL 02/02/2003
Febrero-2004 ADM 01/02/2004

pues bien yo quiero buscar el texto "PTR" dentro de la lista por el campo second , si la busqueda empieza en la posicion 1 me debe de dar como resultado donde encuentre el valor ese seria 7 ... mi rutina funciona con el finditem pero solo me encuentra las busquedas que yo haga con el campo first
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:Analista de Sistemas

Publicado por Gerardo Flores L (10 intervenciones) el 20/02/2004 20:48:30
Las busquedas por default comienzan de startindex + 1 . Si tu quieres que empieze a buscar desde el principio de la lista debes especificar 0.

imagina que esta es mi lista de 10 items en la lista con sus respectivos campos:

First Second Third
Abril-2002 GFL 01/04/2002
Abril-2003 ADM 08/04/2003
Agosto-2002 FLL 01/08/2002
Agosto-2003 GFL 11/08/2003
Enero-2002 GFL 31/12/2001
Enero-2003 GFL 05/01/2003
Enero-2004 PTR 01/01/2004
Febrero-2002 FLL 01/02/2002
Febrero-2003 GFL 02/02/2003
Febrero-2004 ADM 01/02/2004

pues bien yo quiero buscar el texto "PTR" dentro de la lista por el campo second , si la busqueda empieza en la posicion 1 me debe de dar como resultado donde encuentre el valor ese seria 7 ... mi rutina funciona con el finditem pero solo me encuentra las busquedas que yo haga con el campo first
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