Page 1 of 1

busqueda en xbrowse

Posted: Fri Feb 28, 2020 3:39 pm
by surGom
Hola tengo este código

Code: Select all

 REDEFINE XBrowse olbm id 101 of odlg ;
      CELL LINES NOBORDER  AUTOSORT



   olbm:bkeydown :=  {| nkey, nflags| iif( nKey = VK_RETURN, ( (lacepto := .T. ),odlg:end() ), ) }  

   olbm:refresh()

   WITH OBJECT olbm
      :SetArray( aMaeclie )
      :aCols[ 1 ]:cHeader  := "Código"
      :aCols[ 2 ]:cHeader  := ("NAPE","PRODUCTO")
      :aCols[ 1 ]:nWidth := 60
      :lFlatStyle    := .T.
      :nMarqueeStyle := 5
      :lIncrFilter   := .T.
      :lseekwild := .t.
      :cFilterFld    := "NAPE"
     
   END

   REDEFINE BUTTON nbut ID 102 ACTION ( lacepto := .T., odlg:end() )


   // REDEFINE BUTTON ID 103 ACTION( clientes( oMae, .t.),olbm:refresh())

   ACTIVATE DIALOG odlg ON INIT ( olbm:goRight(), olbm:aCols[ 2 ]:Setorder(), olbm:gotop(), olbm:setfocus() )

   IF lacepto
      odbf:setorder( 2 )
      odbf:seek( aMaeclie[ olbm:nat, 2 ]  )
      iif( !Empty( olbx ), ( olbx:refresh(),olbx:setfocus() ), )
      RETURN odbf
   ENDIF

RETURN NIL
Funciona la busqueda incremental por contenido pero si quedan opciones EJ:
Productos Regional SA
Namuncura Regional SRL
Promociones Regionales ;etc

Si utilizo la flecha abajo , o cliqueo con el mouse y me posiciono en la segunda o tercera opción siempre me muestra la primera

Que me faltaría en el código

Gracias

Luis

Re: busqueda en xbrowse

Posted: Fri Feb 28, 2020 11:29 pm
by nageswaragunupudi

Code: Select all

   local cSeek := nil

   REDEFINE XBrowse olbm id 101 of odlg ;
      DATASOURCE aMaeclie COLUMNS 1,2 ;
      HEADERS "Código", "NAPE" ;
      CELL LINES NOBORDER AUTOSORT

   WITH OBJECT olbm
      :aCols[ 1 ]:nWidth := 60
      :lFlatStyle    := .T.
      :nMarqueeStyle := 5
      :lIncrFilter   := .T.
      :lseekwild     := .t.
      :cFilterFld    := "NAPE"
      //
      :bkeydown      := { | nkey, nflags| iif( nKey = VK_RETURN, ( cSeek := olbm:aRow[ 2 ], odlg:end(), 0 ), nil ) }  
      :bLDblClick    := { || cSeek := olbm:aRow[ 2 ], odlg:end() }  
   END

   REDEFINE BUTTON nbut ID 102 ACTION ( cSeek := olbm:aRow[ 2 ], odlg:end() )

   ACTIVATE DIALOG odlg ON INIT ( olbm:goRight(), olbm:aCols[ 2 ]:Setorder(), olbm:gotop(), olbm:setfocus() )

   IF !Empty( cSeek )
      odbf:setorder( 2 )
      odbf:seek( cSeek  )
      iif( !Empty( olbx ), ( olbx:refresh(),olbx:setfocus() ), )
      RETURN odbf
   ENDIF

RETURN NIL

Re: busqueda en xbrowse

Posted: Sat Feb 29, 2020 11:34 am
by surGom
Thank you Mr. Rao works fine

Luis

Re: busqueda en xbrowse

Posted: Wed Mar 04, 2020 4:23 am
by nanoespinoza
Estimado Mr. Rao

En el ejemplo que usted puso, el xBrowse es con un Array llamado aMaeclie; cuando estoy con un archivo .dbf el -cSeek := olbm:aRow[ 2 ]., con que debe ser reemplazado. Entiendo que no puede ser aRow[2].

Saludos

Fernando Espinoza A.

Re: busqueda en xbrowse

Posted: Wed Mar 04, 2020 4:29 am
by nageswaragunupudi
nanoespinoza wrote:Estimado Mr. Rao

En el ejemplo que usted puso, el xBrowse es con un Array llamado aMaeclie; cuando estoy con un archivo .dbf el -cSeek := olbm:aRow[ 2 ]., con que debe ser reemplazado. Entiendo que no puede ser aRow[2].

Saludos

Fernando Espinoza A.
Yes.
You can use

Code: Select all

cSeek := ( oBrw:cAlias )->fieldname
 
or

Code: Select all

cSeek := oBrw:oCol( nCol ):Value
 

Re: busqueda en xbrowse

Posted: Wed Mar 04, 2020 2:36 pm
by nanoespinoza
Estimada Mr. Rao

Gracias, ahí evite un error que tenía.

Como no tengo mucha experiencia usando la búsqueda en xBrowse me está resultando complicado implementarlo; ¿podría ayudarme con algún ejemplo completo de como hacerlo?

Saludos

Fernando Espinoza A.

Re: busqueda en xbrowse

Posted: Sat Mar 07, 2020 4:39 am
by nanoespinoza
...