Me interesa implementar la busqaueda incremental en un XBROWSE pero en un dialogo, el codigo que adjunto es autoexplicativo
si quereis probarlo sustituir el DATASOURCE por uno propio , se adapta el XBROWSE a _ y listo.
Yo todo este codigo lo tengo utilizando recursos , pero para no añadir el .rc lo he traspasado a comandos.
vereis que me funciona bien desde el dialogo principal tecleo en el GET y el cursor buscar el registro.
Pero en cuanto abro el dialogo con el boton "Busqueda" por mucho que teclee no aparece nada en el GET y no se mueve el XBROWSE y el
codigo es el mismo. ¿Por que ?, ¿Que hago mal?.
Code: Select all
// Prueba de busqueda incremental
#include "fivewin.ch"
Static oBrw
function Main()
REQUEST DBFCDX
local oDlgBrw, oFont, oBtn
USE OBRAS NEW VIA "DBFCDX"
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE DIALOG oDlgBrw SIZE 1000, 700 PIXEL FONT oFont
@ 20, 0 XBROWSE oBrw DATASOURCE "OBRAS" SIZE 800, 500 PIXEL ;
COLUMNS "Codigo","Cif","Nombre","Poblacion" ;
HEADERS "CODIGO", "CIF", "NOMBRE", "POBLACION" CELL LINES AUTOSORT ;
OF oDlgBrw UPDATE STYLE 2007
WITH OBJECT oBrw
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nMarqueeStyle := MARQSTYLE_HIGHLROW
:lIncrFilter := .T.
:lSeekWild := .T.
:cFilterFld := "Nombre"
:Createfromcode()
END
@ 0,120 BUTTON oBtn PROMPT "Busqueda" SIZE 35, 18 PIXEL OF oDlgBrw ACTION Busqueda()
@ 0,10 GET oBrw:oSeek VAR oBrw:cSeek SIZE 90,14 PIXEL OF oDlgBrw COLOR CLR_HRED,CLR_YELLOW
ACTIVATE DIALOG oDlgBrw CENTERED
RELEASE FONT oFont
return nil
FUNCTION Busqueda()
LOCAL oDlgSearch
DEFINE DIALOG oDlgSearch SIZE 400,200 PIXEL TITLE "Busqueda de registro"
@ 4,6 BITMAP SIZE 43,28 PIXEL OF oDlgSearch FILENAME "./Resource/res62.bmp" ADJUST
@ 54,53 GET oBrw:oSeek VAR oBrw:cSeek SIZE 90,14 PIXEL OF oDlgSearch
ACTIVATE DIALOG oDlgSearch CENTERED
RETURN NIL
//-------------------------------------------------------------------------- //
Saludos.
Jose.