con lSeekWild=.T. en xBrowse, solo encuentra numeros
Posted: Mon Jan 13, 2020 7:49 pm
Estoy usando lSeekWild = .T. con lIncrFilter = .F. de modo que al escribir datos, xBrowse se posicione en el registro seleccionado.
Me está pasando que solo funciona si digito numeros, las letras no las encuentra.
Sin embargo, cuando lIncrFilter = .T. filtra perfecto, acepta digitar letras y numeros sin problema.
Sólo me interesa poder posicionarme en el primer registro que coincida con mi búsqueda sin el efecto del filtro.
Agradezco de antemano a quien me pueda ayudar.
Me está pasando que solo funciona si digito numeros, las letras no las encuentra.
Sin embargo, cuando lIncrFilter = .T. filtra perfecto, acepta digitar letras y numeros sin problema.
Sólo me interesa poder posicionarme en el primer registro que coincida con mi búsqueda sin el efecto del filtro.
Agradezco de antemano a quien me pueda ayudar.
Code: Select all
#include "fivewin.ch"
REQUEST DBFCDX
static aSource := { "DBF", "TDataBase" }
static oCn, nSource, uData
//----------------------------------------------------------------------------//
function SeekWild1()
RDDSETDEFAULT( "DBFCDX" )
SET DELETED ON
SetGetColorFocus()
FWNumFormat( "E", .t. )
REPEAT
nSource := Alert( "SELECT DATASOURCE", aSource )
if nSource > 0
OpenData()
BrowseData()
CloseData()
endif
UNTIL nSource == 0
return nil
//----------------------------------------------------------------------------//
static function BrowseData()
local oDlg, oFont, oBar, oBrw
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE DIALOG oDlg SIZE 900,600 PIXEL TRUEPIXEL FONT oFont TITLE "Prueba lSeekWild"
@ 30,10 XBROWSE oBrw SIZE -22,-22 PIXEL OF oDlg ;
DATASOURCE uData ; // Alias, TDatabase Object, RecordSet or MySql/PostGre query object
COLUMNS "RUTCLI", "NOMBRE", "DIRECC", "FONO", "COMUNA", "GIRO" ;
CELL LINES NOBORDER FOOTERS FASTEDIT
@0,2 SAY "Buscar: " OF oDlg SIZE 40,12 PIXEL
@0,50 SAY oBrw:oSeek VAR oBrw:cSeek OF oDlg SIZE 250,12 PICTURE "@!" PIXEL;
COLOR CLR_BLACK,CLR_YELLOW
WITH OBJECT oBrw
:lIncrFilter := .F.
:lSeekWild := .T.
//
:CreateFromCode()
END
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
return nil
//----------------------------------------------------------------------------//
static function OpenData()
do case
case nSource == 1
USE CLIENT NEW ALIAS "PROD" SHARED VIA "DBFCDX"
uData := ALIAS()
SET ORDER TO TAG NOMBRE
DBGOTOP()
case nSource == 2
uData := TDataBase():Open( nil, "CLIENT", "DBFCDX", .t. )
uData:SetOrder( "NOMBRE" )
uData:Gotop()
endcase
return uData
//----------------------------------------------------------------------------//
static function CloseData()
if nSource == 1
( uData )->( DBCLOSEAREA() )
else
uData:Close()
if oCn != nil
oCn:Close()
endif
endif
return nil
//----------------------------------------------------------------------------//