FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Búsqueda Incremental con xBrowse (resuelto)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Búsqueda Incremental con xBrowse (resuelto)
Posted: Mon Jun 21, 2010 05:09 PM
He comenzado recientemente a trabajar con xbrowse y me parece un browse fascinante.

Estaba tratando de implementar una búsqueda incremental por diversos criterios de una tabla haciendo click derecho sobre el cabezal de la columna por la cual deseo buscar, consultando en el foro pude hacer la búsqueda y funciona bien, pero.......

La misma solo responde a la 1ra tecla que presione, es decir si presiono una "l" irá al primer elemento que comience con "l", pero si continúo escribiendo "lo" queda en esa misma línea.

¿Hay algo que hago mal? o es como se espera que funcione... en tal caso ¿como puedo lograr que busque la palabra a medida que la escribo?

aquí les dejo el código....

Code (fw): Select all Collapse
                @ 28,50 SAY oSay VAR cosa OF oPanel     
    @ 30,50 XBROWSE aBrw[ 1 ]  ;
            COLUMNS "First", "City", "State", "Married", "HireDate", "Age", "Salary", "Hora", "cImagen", "Imagen" ;
            OF oPanel ;
            ALIAS cAlias AUTOSORT NOBORDER FOOTERS AUTOCOLS //BACKGROUND ""
            
        aBrw[1]:CreateFromCode()
        
        XBrNumFormat( 'E', .t. )
        SetBalloon( .t. )   
        aBrw[1]:nStretchCol   := 0
         
        aBrw[1]:nRowDividerStyle = LINESTYLE_NOLINES
        aBrw[1]:nColDividerStyle = LINESTYLE_NOLINES
        aBrw[1]:nMarqueeStyle    = MARQSTYLE_HIGHLROW
        
        aBrw[1]:First:nEditType:= EDIT_GET
            
        aBrw[1]:City:nEditType:= EDIT_GET_LISTBOX
        aBrw[1]:City:aEditListTxt:={"uno", "dos", "tres"}
        
        aBrw[1]:Married:nEditType:=EDIT_GET
        
        aBrw[1]:HireDate:nEditType     := EDIT_DATE
        
                                 .......
    
        WITH OBJECT aBrw[1]:First
            :cSortOrder:="FIRST"
            :bLClickHeader:= {|| aBrw[1]:Gotop() }  
        END
        
        WITH OBJECT aBrw[1]:City
            :cSortOrder:="CITY"
            :bLClickHeader:= {|| ( aBrw[1]:Gotop() ) }
        END
        
        .....
        
                
        aBrw[1]:bSeek := {|c| CUSTOMER->( DbSeek( Upper( c ) ,.t. ) ) }
        aBrw[1]:oSeek:=oSay
        aBrw[1]:oSeek:nLeft := aBrw[1]:nLeft + aBrw[1]:aCols[ 1 ]:nDisplayCol
      
        aBrw[1]:MakeTotals()
        
        oPanel:oClient := aBrw[ 1 ]


Agradezco desde ya la ayuda que puedan brindarme :-)
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Búsqueda Incremental con xBrowse
Posted: Mon Jun 21, 2010 05:21 PM

perdón, ya lo resolví, se trataba del uso de upper() sobre una tabla en que hay mayúsculas y minúsculas.
Sorry :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM
Re: Búsqueda Incremental con xBrowse (resuelto)
Posted: Mon Jun 21, 2010 09:04 PM

Pues de todas maneras muchas gracias me es muy interesante tu ejemplo :mrgreen:

Saluditos :D

Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Búsqueda Incremental con xBrowse (resuelto)
Posted: Sat Jul 03, 2010 02:03 PM
XBrwose automatically builds a bSeek codeblock and it works like a charm. This code block uses UPPER(cSeek) when index is on upper and does not use upper when index is not upper.

Best way to use XBrowse is not to override its default behavior by our own definition of bSeek, bOnPostEdit, etc.

Best way of using XBrowse is to code less.

Simple
Code (fw): Select all Collapse
@ nRow, nCol SAY oBrw:oSeek VAR oBrw:cSeek SIZE <w>,<h> PIXEL OF oWnd

This one line of code is enough for implementing fully functional incremental seek on any xbrowse ( DBF, TDatabase, RecordSet, etc ), if AUTOSORT clause is used when defining XBrowse.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Búsqueda Incremental con xBrowse (resuelto)
Posted: Sun Jul 04, 2010 08:33 AM
nageswaragunupudi wrote:XBrwose automatically builds a bSeek codeblock and it works like a charm. This code block uses UPPER(cSeek) when index is on upper and does not use upper when index is not upper.

Best way to use XBrowse is not to override its default behavior by our own definition of bSeek, bOnPostEdit, etc.

Best way of using XBrowse is to code less.

Simple
Code (fw): Select all Collapse
@ nRow, nCol SAY oBrw:oSeek VAR oBrw:cSeek SIZE <w>,<h> PIXEL OF oWnd

This one line of code is enough for implementing fully functional incremental seek on any xbrowse ( DBF, TDatabase, RecordSet, etc ), if AUTOSORT clause is used when defining XBrowse.


Gracias Sr. Rao :-)
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion