Page 1 of 1
ListBox con busqueda incremental?
Posted: Mon Dec 19, 2022 5:33 pm
by Armando
Saludos al foro:
Necesito su amable ayuda con un ejemplo de un listbox con busqueda incremental, me explico
un poco mas:
Necesito que en un listbox, u otro control, se muestre toda la lista de productos en venta y a medida que el
usuario va tecleando el nombre del producto la lista se vaya reduciendo a solo los productos que cumplen con
_ que el usuario tecleo.
Espero haberme explicado.
Felices fiestas
Re: ListBox con busqueda incremental?
Posted: Mon Dec 19, 2022 6:04 pm
by karinha
Use la busqueda de xBrowse().
Regards, saludos.
Re: ListBox con busqueda incremental?
Posted: Mon Dec 19, 2022 9:04 pm
by cmsoft
Armando, usas MySql o DBF?
Re: ListBox con busqueda incremental?
Posted: Mon Dec 19, 2022 9:26 pm
by Armando
Hola César:
MySql con ADO.
Saludos y gracias
Re: ListBox con busqueda incremental?
Posted: Tue Dec 20, 2022 10:14 am
by nageswaragunupudi
Use XBrowse's incremental filter feature.
Re: ListBox con busqueda incremental?
Posted: Tue Dec 20, 2022 4:59 pm
by Armando
Mr. Rao:
I have never used xBrowse's incremental search, ¿would you mind doing a little example?
Best regards
Re: ListBox con busqueda incremental?
Posted: Tue Dec 20, 2022 6:16 pm
by JoseAlvarez
Armando,
Al igual que tu, siempre use listbox, hasta que decidi saltar a xbrowse. Es la mejor idea, ahora bien, si decides seguir con listbox, tengo una busqueda ya hecha y funciona bien, pero estoy fuera de la ciudad y regreso la proxima semana.
Puedo enviartela a mi regreso. Dejame tu correo.
Re: ListBox con busqueda incremental?
Posted: Wed Dec 21, 2022 1:22 am
by Armando
José:
Muchas gracias, mi correo es
estbucarm@gmail.com
Todo apoya.
Saludos
Re: ListBox con busqueda incremental?
Posted: Wed Dec 21, 2022 9:22 am
by leandro
Amigo buenos días como estas?
Creo que este ejemplo te puede servir, basado en xbrado.prg en la carpeta de samples
Code: Select all | Expand
/*
*
* XbrADO.Prg
* 03-01-2011 07:58 PM
*
*/
#include "FiveWin.Ch"
#include "adodef.ch"
#include "ord.ch"
#include "xbrowse.ch"
//----------------------------------------------------------------------------//
REQUEST DBFCDX
static oCon
//----------------------------------------------------------------------------//
function Main()
local oDlg, oBrw, oFont
local oRs
DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-12
DEFINE DIALOG oDlg SIZE 900,500 PIXEL FONT oFont
oRs := GetRecSet()
@ 20,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
COLUMNS "FIRST - (' ' + LAST)", ;
'City','Salary', ;
'Round( ( DATE()-HIREDATE ) / 365, 0 )', ;
"SALARY * 1.1" ;
HEADERs "Name", nil, nil, 'Experience', 'RevdSal' ;
DATASOURCE oRs ;
CELL LINES NOBORDER FOOTERS
WITH OBJECT oBrw
:Salary:nFooterType := ;
:RevdSal:nFooterType := AGGR_SUM
:RevdSal:cEditPicture := NumPict( 12, 2 )
:Experience:cEditPicture := "999 Yrs"
:Experience:nFooterTypE := AGGR_AVG
:nStretchCol := 1
:MakeTotals()
:lAutoSort := .t.
:lIncrFilter := .t.
:lSeekWild := .t.
:cFilterFld := "FIRST"
END
oBrw:CreateFromCode()
@ 10,10 SAY oBrw:oSeek PROMPT alltrim(oBrw:cSeek) SIZE 150,10 PIXEL OF oDlg
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
oCon:Close()
return (0)
//----------------------------------------------------------------------------//
init procedure PrgInit
SET DATE ITALIAN
SET CENTURY ON
SET TIME FORMAT TO "HH:MM:SS"
SET EPOCH TO YEAR(DATE())-50
SET DELETED ON
SET EXCLUSIVE OFF
RDDSETDEFAULT( "DBFCDX" )
XbrNumFormat( 'I', .t. )
SetGetColorFocus()
return
//----------------------------------------------------------------------------//
static function ConnectToAccess
local oCat, aTables, n
local lConnect := .f.
local cStr := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ;
cFilePath( hb_argv( 0 ) ) + "xbrtest.mdb;User Id=admin;Password=;"
if oCon == nil
oCon := TOleAuto():new("ADODB.Connection")
oCon:ConnectionString := cStr
TRY
oCon:Open()
lConnect := .t.
CATCH
oCon := nil
MsgInfo('Connect Fail')
return nil
END
else
lConnect := .t.
endif
return lConnect
//----------------------------------------------------------------------------//
static function GetRecSet
static oRs
local oRecSet
ConnectToAccess()
if oCon != nil .and. oRs == nil
oRs := TOleAuto():new( "ADODB.RecordSet" )
oRs:ActiveConnection := oCon
oRs:Source := 'CUSTOMER'
oRs:LockType := 4 // adLockOptimistic
oRs:CursorLocation := 3 //adUseClient
oRs:CacheSize := 100
TRY
oRs:Open()
CATCH
MsgInfo('Access Table Open Failure')
return nil
END
endif
oRecSet := oRs:Clone()
if oRs:RecordCount() > 0
oRecSet:Sort := oRecSet:Fields(0):Name
oRecSet:MoveFirst()
endif
return oRecSet
//-------------------------------------------------------------------------//
Re: ListBox con busqueda incremental?
Posted: Wed Dec 21, 2022 12:50 pm
by karinha
JoseAlvarez wrote:Armando,
Al igual que tu, siempre use listbox, hasta que decidi saltar a xbrowse. Es la mejor idea, ahora bien, si decides seguir con listbox, tengo una busqueda ya hecha y funciona bien, pero estoy fuera de la ciudad y regreso la proxima semana.
Puedo enviartela a mi regreso. Dejame tu correo.
José, por favor:
kapiabafwh@gmail.com
Feliz navidad para ti y tu familia mi querido amigo.
Regards, saludos.
Re: ListBox con busqueda incremental?
Posted: Sat Dec 24, 2022 5:12 pm
by JoseAlvarez
Saludos estimados amigos.
Deseando que pasen todos una Bendecida y bonita Noche Buena y Reciban una feliz Navidad.
Armando y Joao. Ya les envié el codigo de la busqueda a sus correos.
Espero puedan mejorarlo y publicarlo para cualquier otro compañero que pueda necesitarlo.
Un gran abrazo a todos.