In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Localizar un elemento en un dBBrowse

Foro de Xailer profesional en español
Responder
emilio gil[1]
Mensajes: 16
Registrado: Jue Abr 06, 2006 6:22 pm

Localizar un elemento en un dBBrowse

Mensaje por emilio gil[1] »

Hola:
tengo un dbBrowse abierto ::oDBrowse1:SetDbf(xPlacon) que es el listado
del plan contable que esta indexado por codigo y nombre, como puedo
hacer que me localize una determinada cuenta bien por codigo o nombre,
he probado en el evento onclick de un editbotton con
sele xPlacon
dbseek(oSender:Value, .t.)
::oDBrowse1:Refresh()
pero no debe ser lo más adecuado.
Gracias.
Emilio Gil.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Localizar un elemento en un dBBrowse

Mensaje por Xevi »

Emilio,
Un DbBrowse tiene asociado una Dbf/Alias... en tu caso xPlacon.
Bien, pues sólo tienes que navegar por la Dbf como en Clipper...
(xPlacon)->( OrdSetFocus( "indiceautilizar" )
(xPlacon)->( DbSeek( "loquequierasbuscar" ) )
....
Y cuando necesites actualizar el Browse...
::oBrowse1:Refresh()
Un Saludo,
Xevi.
"emilio gil" <emiliogil@ya.com> escribió en el mensaje
news:4446133d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola:
>
> tengo un dbBrowse abierto ::oDBrowse1:SetDbf(xPlacon) que es el listado
> del plan contable que esta indexado por codigo y nombre, como puedo hacer
> que me localize una determinada cuenta bien por codigo o nombre, he
> probado en el evento onclick de un editbotton con
>
> sele xPlacon
> dbseek(oSender:Value, .t.)
> ::oDBrowse1:Refresh()
>
> pero no debe ser lo más adecuado.
>
> Gracias.
> Emilio Gil.
>
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Localizar un elemento en un dBBrowse

Mensaje por Rene Flores »

1000lio:
Yo implemente busquedas incrementales en el DBBrowse y lo hice así­:
1) defini una DATA llamada cBusca inicializada a ""
2) puse un panel en la barra de estado para poner lo que voy tecleando
3) en el evento ON CHAR del dbrowse, defini el evento ChkTecla y le
escribi esto:
METHOD chktecla( oSender, nKey, nFlags ) CLASS Catcue
IF nKey == 8
IF LEN(::cBusca) > 0
::cBusca := SUBSTR(::cBusca,1,LEN(::cBusca)-1)
ENDIF
ELSE
::cBusca += UPPER(CHR(nKey))
ENDIF
SET SOFTSEEK ON
(ALIAS_CATALOGO)->(DBSEEK(::cBusca))
oSender:Refresh()
SET SOFTSEEK OFF
WITH OBJECT ::oStatusBar1
:aItems[2]:cText := "Buscando: "+ IIF(::nIndexActual == 1,;
TRANSFORM(::cBusca,"@R
9999-9999-9999-9999"),;

TRANSFORM(::cBusca,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"))
END
RETURN Nil
A ver si te hace un apaño....
Saludos
Rene Flores
http://www.ciber-tec.com
emilio gil escribió:
> Hola:
>
> tengo un dbBrowse abierto ::oDBrowse1:SetDbf(xPlacon) que es el
> listado del plan contable que esta indexado por codigo y nombre, como
> puedo hacer que me localize una determinada cuenta bien por codigo o
> nombre, he probado en el evento onclick de un editbotton con
>
> sele xPlacon
> dbseek(oSender:Value, .t.)
> ::oDBrowse1:Refresh()
>
> pero no debe ser lo más adecuado.
>
> Gracias.
> Emilio Gil.
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9448
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Localizar un elemento en un dBBrowse

Mensaje por ignacio »

Rene,
Todos los browses soportan busqueda incremental desde el primer día. Por
favor revisar las propiedad oSeek y el evento OnSeek de TBrowse. Incluso el
ejemplo DatacontrolsDbfData2 muestra como usarlo.
Saludos,
"Rene Flores" <rflores.removeforspam@ciber-tec.com> escribió en el mensaje
news:[email=4446e653@ozsrvnegro.ozlan.local...]4446e653@ozsrvnegro.ozlan.local...[/email]
> 1000lio:
>
> Yo implemente busquedas incrementales en el DBBrowse y lo hice así:
>
> 1) defini una DATA llamada cBusca inicializada a ""
> 2) puse un panel en la barra de estado para poner lo que voy tecleando
> 3) en el evento ON CHAR del dbrowse, defini el evento ChkTecla y le
> escribi esto:
>
> METHOD chktecla( oSender, nKey, nFlags ) CLASS Catcue
> IF nKey == 8
> IF LEN(::cBusca) > 0
> ::cBusca := SUBSTR(::cBusca,1,LEN(::cBusca)-1)
> ENDIF
> ELSE
> ::cBusca += UPPER(CHR(nKey))
> ENDIF
> SET SOFTSEEK ON
> (ALIAS_CATALOGO)->(DBSEEK(::cBusca))
> oSender:Refresh()
> SET SOFTSEEK OFF
>
> WITH OBJECT ::oStatusBar1
> :aItems[2]:cText := "Buscando: "+ IIF(::nIndexActual == 1,;
> TRANSFORM(::cBusca,"@R
> 9999-9999-9999-9999"),;
>
> TRANSFORM(::cBusca,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"))
> END
> RETURN Nil
>
> A ver si te hace un apaño....
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com
> emilio gil escribió:
>> Hola:
>>
>> tengo un dbBrowse abierto ::oDBrowse1:SetDbf(xPlacon) que es el
>> listado del plan contable que esta indexado por codigo y nombre, como
>> puedo hacer que me localize una determinada cuenta bien por codigo o
>> nombre, he probado en el evento onclick de un editbotton con
>>
>> sele xPlacon
>> dbseek(oSender:Value, .t.)
>> ::oDBrowse1:Refresh()
>>
>> pero no debe ser lo más adecuado.
>>
>> Gracias.
>> Emilio Gil.
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder