Continúo con este tema ya que si bien he solucionado la búsqueda incremental con lo sugerido por Horacio, luego. mirando el sample: xbincflt.prg, y luego de muchas pruebas, finalmente, consigo la búsqueda con el siguiente código:
- Code: Select all Expand view RUN
REDEFINE XBROWSE oBrw ID 301 OF oDlg ;
COLUMNS {"FPrv01", "FPrv02"} ;
HEADERS {"CodPrv", "Descripcion" } ;
ALIAS hS3:oDbPrv:cAlias AUTOSORT
WITH OBJECT oBrw
:lSeekWild := .f. // Con este en falso HACE la búsqueda incremental
:bKeyDown:= {|nK| if( nK==VK_RETURN, ( hS3:oDbPrv:Load(), oSProv:VarPut( hS3:oDbPrv:FPRV02 ), oSProv:Refresh(), ;
oBrw:End(), oDlg:End() ), ) }
END
WITH OBJECT oBrw:oCol( "CodPrv" )
:bLDClickData:= {|| Eval( oBrw:bKeyDown, VK_RETURN ) }
END
WITH OBJECT oBrw:oCol( "Descripcion" )
:nWidth := 220
:bLDClickData:= {|| Eval( oBrw:bKeyDown, VK_RETURN ) }
END
Ahora bien; me pareció buena idea, por lo visto en el sample, usar el Filtro; entonces mi código quedaría:
- Code: Select all Expand view RUN
WITH OBJECT oBrw
:lIncrFilter := TRUE // Con ese en verdadero, y lSekkWild = .T., busca POR CONTENIDO
:lSeekWild := .T. // Con este en falso HACE la búsqueda incremental
:cFilterFld := "FPRV02"
:Seek( "" ) //oBrw:cSeek
:bKeyDown:= {|nK| if( nK==VK_RETURN, ( hS3:oDbPrv:Load(), oSProv:VarPut( hS3:oDbPrv:FPRV02 ), oSProv:Refresh(), ;
oBrw:End(), oDlg:End() ), ) }
END
WITH OBJECT oBrw:oCol( "CodPrv" )
:bLDClickData:= {|| Eval( oBrw:bKeyDown, VK_RETURN ) }
END
WITH OBJECT oBrw:oCol( "Descripcion" )
:nWidth := 220
:bLDClickData:= {|| Eval( oBrw:bKeyDown, VK_RETURN ) }
END
REDEFINE SAY oBrw:oSeek PROMPT Upper( oBrw:cSeek ) ID 10 OF oDlg COLOR CLR_RED UPDATE
En este caso el filtro por "Contenido" se produce...peeeeroooo, si deseo un filtro por "Que comience con", lo que entiendo sería poniendo :lSeekWild:= .f., entonces NO HACE NADA.
Pero, evidentemente algo esta mal en mi codigo, ya que si al sample lo reemplazo para que abra mi DBF, todo lo hace OK!
En que difiere respecto al sample?. En que uso ADS y abro las DBFs con TDBF (aunque para el manejo del xBrowse, solo le estoy dando foco al ls DBF en cuestion)
Espero opiniones, gracias