Página 1 de 1

Localizar un elemento en un dBBrowse

Publicado: Mié Abr 19, 2006 12:38 pm
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.

Localizar un elemento en un dBBrowse

Publicado: Mié Abr 19, 2006 3:14 pm
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.
>

Localizar un elemento en un dBBrowse

Publicado: Jue Abr 20, 2006 3:39 am
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.
>

Localizar un elemento en un dBBrowse

Publicado: Jue Abr 20, 2006 9:08 am
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.
>>