Combobox Busqueda Incremental

Post Reply
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Combobox Busqueda Incremental

Post by Blessed »

Hola amigos

Estoy pasando mi codigo de la FWH 9.06 a la FWH 10.10 y me he encontrado, que la busqueda incremental (incremental search) en la clase combobox no trabaja correctamente en esta version.

Alguien ha hallado como solucionar este problema?

Saludos
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Re: Combobox Busqueda Incremental

Post by Blessed »

Hola

Olvide mencionar que es desde recursos.
Y por cierto en el combobox tipo CBS_SIMPLE, la busqueda funciona perfectamente, no asi en CBS_DROPDOWNLIST, al omitir

Code: Select all

   oGet[6]:lIncSearch := .T.  && Activa busqueda incremental
 
Busca solo la primera letra, en la version 9.06 funcionaba con el codigo anterios, alguien tiene algun hilo que hacer en esta version :?:

Saludos
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
thernandez
Posts: 3
Joined: Wed Jan 30, 2008 2:35 pm
Location: Mexico

Re: Combobox Busqueda Incremental

Post by thernandez »

aprovechando tu post

con esta funcion se puede realizar la busqueda tipo google?

al ir escribiendo va mostrando los registros que van cumpliendo con dicha busqueda, es posible?

gracias anticipadas

Tomas Hernandez
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Re: Combobox Busqueda Incremental

Post by Blessed »

Hola Tomas

Bueno cuando funcionaba...
Te ubicaba a medida que escribias en el elemento a que correspondia.
Lo que hace la busqueda de google es filtrar, y eso se puede hacer pero el problema es que los combos se cargan a memoria, y cuando las tablas crecen, dejan de ser amigables convirtiendose en largas esperas :( ; aun el DBCOMBO trabaja subiendo los valores de la tabla a memoria, no se gestionan los registros sino arreglos de memoria.
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Re: Combobox Busqueda Incremental

Post by Blessed »

Hola

He intentado compilar la clase Combobox de la FWH 9.06, que era con la que me funcionaba la busqueda incremental,y despues de hacer un par de malabares funciono, Ya que en la FWH 10.10 no anda bien
Espero no tener lios con otras clases, me preocupa la clase Get, veremos
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
User avatar
Blessed
Posts: 243
Joined: Wed Sep 19, 2007 4:32 pm
Location: Honduras, C.A.
Contact:

Re: Combobox Busqueda Incremental

Post by Blessed »

Una pregunta en la 11.08

Ya se soluciono esto de la busqueda incremental ??

Estos detalles podran parecer pequeños, pero soy muy significantes al menos en mis aplicaciones :(
_ A. Martinez
http://www.multisofthn.com
Honduras, Centro America
xHarbour Enterprise 1.2.2, Fivewin 13.06
thernandez
Posts: 3
Joined: Wed Jan 30, 2008 2:35 pm
Location: Mexico

Re: Combobox Busqueda Incremental

Post by thernandez »

Blessed wrote:Hola Tomas

Bueno cuando funcionaba...
Te ubicaba a medida que escribias en el elemento a que correspondia.
Lo que hace la busqueda de google es filtrar, y eso se puede hacer pero el problema es que los combos se cargan a memoria, y cuando las tablas crecen, dejan de ser amigables convirtiendose en largas esperas :( ; aun el DBCOMBO trabaja subiendo los valores de la tabla a memoria, no se gestionan los registros sino arreglos de memoria.

gracias por responder

tendrás algún ejemplo? para revisarlo ?

gracias
russimicro
Posts: 179
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia

Re: Combobox Busqueda Incremental

Post by russimicro »

// CAMBIOS EN LA CLASE DBCOMBO.PRG ... Y ME ESTA FUNCIONANDO

CLASS TDBCombo FROM TComboBox

DATA cSearchBackup // JOHNSON RUSSI - DIC 20 DE 2011

///

METHOD New( nRow, nCol, bSetGet, aItems, nWidth, nHeight, oWnd, nHelpId, ;
bChange, bValid, nClrFore, nClrBack, lPixel, oFont, ;
cMsg, lUpdate, bWhen, lDesign, acBitmaps, bDrawItem, ;
cAlias, cFldItem, cFldList, aList ) CLASS TDBCombo

DEFAULT cAlias := alias(), ;
cFldList := "", ;
cFldItem := "", ;
aList := {},;
aItems:= {}

::aList := aList
::aItems := aItems
::cAlias := cAlias
::cFldList := cFldList
::cFldItem := cFldItem
::cSearchKey:=""

::cSearchBackup :="" // JOHNSON RUSSI - DIC 20 DE 2011


METHOD KeyChar( nKey, nFlags) CLASS TDBCombo

local nNewAT := 0, nOldAT:=::nAT

::cSearchKey := ::cSearchBackup // JOHNSON RUSSI - DIC 20 DE 2011

// Incremental search
if nKey = VK_BACK // VK_BACK RESETEA L ABUSQUEDA , SE QUITA EL VK_SPACE , PARA PODER BUSCAR EN ORACIONES : "NOTA CREDITO" // JOHNSON RUSSI - DIC 20 DE 2011
::cSearchKey := ""
::cSearchBackup := "" // JOHNSON RUSSI - DIC 20 DE 2011
::Set( If( ValType( Eval( ::bSetGet ) ) == "N", 1, ::aItems[ 1 ] ) )
else

if nKey = 45 // CON EL SIGNO (-) BORRA ULTIMO CARACTER JOHNSON RUSSI - DIC 20 DE 2011
::cSearchKey := left(::cSearchKey,Len(::cSearchKey)-1)
else
::cSearchKey += upper(chr(nKey))
endif

::cSearchBackup := ::cSearchKey // JOHNSON RUSSI - DIC 20 DE 2011

nNewAT := ascan(::aList, {|x| subs(upper(x),1,len(::cSearchKey)) == ::cSearchKey} ) // JOHNSON RUSSI - DIC 20 DE 2011
Post Reply