STATIC nOpcRadioBusq := 1 // Por Nombre del Cliente
FUNCTION JOSE_XBRW()
LOCAL cAlias
USE JOSE INDEX JOSE NEW ALIAS JOSE
GO TOP
cAlias := ALIAS()
// RadioButtons...
// Lisbox...
// BUTTON Y ACTION:
// etc...
JOSE_CAMBIA_INDICE_XBRW( nOpcRadioBusq, cAlias, oLbx )
RETURN NIL
FUNCTION JOSE_CAMBIA_INDICE_XBRW( nOpcRadioBusq, cAlias, oLbx )
LOCAL oDlg, oFont, oBrw, oSay, DBPESQ, cIndice, oSaida, nRecno, cResName
LOCAL nKey := VK_ESCAPE, nColuna := 1, nProposta, aGrad, oBmp
cResName := "LUPA2"
IF nOpcRadioEnde == 4 //-> Por Endereco
DbSelectArea( cAlias )
SET ORDER TO 05
cIndice := OemToAnsi( "Endere‡o" )
nColuna := 4
ELSEIF nOpcRadioEnde == 3 //-> Por Cod Cliente
DbSelectArea( cAlias )
SET ORDER TO 03
cIndice := OemToAnsi( "C¢d. Cliente" )
nColuna := 2
ELSEIF nOpcRadioEnde == 2 //-> Por Proposta PROPOCOD
DbSelectArea( cAlias )
SET ORDER TO 01
cIndice := "Cod. Proposta"
nColuna := 1
ELSEIF nOpcRadioEnde == 1 //-> Por Nome CLIENTE
DbSelectArea( cAlias )
SET ORDER TO 04
cIndice := "Nome Cliente"
nColuna := 3
ENDIF
GO TOP
// Swap it to descending - Trocar para descendente
SET DESCENDING OFF
GO TOP
DBPESQ := ALIAS()
aGrad := { { 0.30, CLR_WHITE, CLR_WHITE },{ 0.50, CLR_WHITE, CLR_WHITE } }
DEFINE FONT oFont NAME "TAHOMA" SIZE 0, -14
// 800, 455(Altura)
DEFINE DIALOG oDlg SIZE 1000, 500 PIXEL FONT oFont ;
TITLE "PLENOIND: PESQUISA INCREMENTAL - Digite o Que Deseja Procurar" ;
GRADIENT aGrad
oDlg:lHelpIcon := .F.
oDlg:nSeeThroClr := 1
/*
@ 30, 10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
DATASOURCE "DBPESQ" AUTOCOLS AUTOSORT CELL LINES NOBORDER ;
HEADERS "Código:", "Nome:", "Endereço:", "Fantasia:", "Cnpj:", "Cpf:" ;
FIELDS ( cAlias )->CLIENCOD, ( cAlias )->CLIENTE, ( cAlias )->END_FAT, ;
( cAlias )->FANTASIA, ( cAlias )->CGC, ( cAlias )->CPF
*/
@ 30,10 XBROWSE oBrw SIZE -10, -10 PIXEL OF oDlg ;
DATASOURCE "DBPESQ" AUTOCOLS AUTOSORT CELL LINES NOBORDER ;
HEADERS "Proposta:", "Código:", "Nome:", "Endereço:", "Bairro:", "Cep:", "Uf:" ;
FIELDS ( cAlias )->PROPOCOD, ( cAlias )->CLIENCOD, ( cAlias )->CLIENTE, ;
( cAlias )->END_PROP, ( cAlias )->BAIR_PROP, ( cAlias )->CEP_PROP, ;
( cAlias )->CID_PROP, ( cAlias )->UF_PROP
oBrw:cTooltip :={ "Click Para Pegar", ;
"DADOS DO CLIENTE", 1, CLR_WHITE, CLR_HBLUE }
// BACKGROUND 'ARANHA'
// oBrw:RefreshCurrent()
oBrw:l2007 := .F.
oBrw:lFlatStyle := .T. // ??
oBrw:SetFont( oFont )
// oBrw:nHeaderLines := 3
// oBrw:nDataLines := 3
// oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar na coluna wbrowse.prg
oBrw:nColSel := nColuna // <n> // Mister Nages - Perfect. Cursor inicia na xBrowse()
/*
oBrw:bClrSel = { || { CLR_WHITE, RGB( 0x33, 0x66, 0xCC ) } }
cClrBack = Eval( oBrw:bClrSelFocus )[ 2 ]
oBrw:bClrSelFocus = { || { CLR_WHITE, cClrBack } }
oBrw:SetColor( CLR_BLACK, RGB( 232, 255, 232 ) )
oCol:bLDClickData := { || Shellexecute( 0, "Open", oCol:Value ) }
*/
// BrwColors( oBrw )
WITH OBJECT oBrw
oBrw:aCols[ 1 ]:nWidth := 60
oBrw:lFlatStyle := .T.
// oBrw:lSeekBar := .T.
// oBrw:lGetbar := .T.
oBrw:lIncrFilter := .T. // Liga o Filtro incremental
oBrw:lSeekWild := .T. // Liga a busca incremental
// <!-- l --><a class="postlink-local" href="http://forums.fivetechsupport.com/viewtopic.php?f=3&t=38397">viewtopic.php?f=3&t=38397</a><!-- l -->
// Disable xbrowse search
// oBrw:bSeek := { |c| .F. }
oBrw:bKeyDown := { |nKey| If( nKey == VK_RETURN, ( oDlg:End() ), nil ) }
oBrw:bKeyChar := { |nKey| If( nKey == VK_ESCAPE, ( oBrw:Seek( "" ), oDlg:End() ), nil ) }
oBrw:bLDblClick := { || cSeek := oBrw:aRow[ 2 ], oDlg:End() }
oBrw:AutoFit() // Auto ajuste / ajuste automatico do xBrowse()
// oBrw:cFilterFld := "END_PROP" // SE EU QUISER SOMENTE ENDERECO
// oBrw:bClrEdits := { || { CLR_BLACK, CLR_YELLOW } }
oBrw:CreateFromCode()
END
@ 10, 055 SAY "Digite o Que Deseja Procurar: " SIZE 120, 10 PIXEL OF oDlg ;
COLOR CLR_CYAN, CLR_WHITE TRANSPARENT
/* // oLbxPePd:Seek("")
@ 10, 150 SAY oBrw:oSeek PROMPT oBrw:cSeek PICTURE "@!" SIZE 120, 10 ;
PIXEL OF oDlg COLOR CLR_CYAN, CLR_YELLOW FONT oFont BORDER
*/
@ 10, 150 SAY oBrw:oSeek PROMPT oBrw:cSeek PICTURE "@!" UPDATE ;
OF oDlg PIXEL COLOR CLR_CYAN, CLR_WHITE FONT oFont SIZE 120, 10 BORDER
@ 10, 270 SAY "Procure Por: "+cIndice + " <Back> Apaga" SIZE 150, 10 PIXEL OF oDlg ;
COLOR CLR_CYAN, CLR_WHITE TRANSPARENT
WITH OBJECT oBrw:oSeek
// oBrw:bLClicked := { || nRecNo := ( cAlias )->( RecNo() ), oDlg:End() }
oBrw:bLClicked := { || oDlg:End() }
END
@ 1.5, 5.5 SAY "<ESC>" SIZE 50, 12 PIXEL OF oDlg COLOR CLR_CYAN, CLR_WHITE TRANSPARENT
@ 0.5, 056 BITMAP oBmp RESOURCE cResName SIZE 50, 50 NO BORDER OF oDlg TRANSPARENT
oBmp:cToolTip := "Pesquisa Incremental Por: " + cIndice
@ 010, 005 BUTTONBMP oSaida PROMPT( "&Saida" ) ACTION( oDlg:End() ) ;
RESOURCE "154" TEXTRIGHT SIZE 40, 12 PIXEL FONT oFont OF oDlg CANCEL
oSaida:cToolTip := "Saida - Exit - Cancelar"
//oLbxPePd:Seek("")
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oBrw:cSeek(""), oBrw:SetFocus(), .F. )
oFont:End()
// Swap it to descending - Trocar para descendente
SET DESCENDING ON
CLOSE( DBPESQ ) // CLOSE FILTER - FECHO FILTRO DA XBROWSE()
// REABRO O BANCO PARA REFRESCAR A LISTBOX ORIGINAL E POSICIONO O CURSOR
USE CADPROPO ALIAS CADPROPO INDEX CADPROPO NEW SHARED
SET ORDER TO 01
SET DESCENDING ON
GO TOP
DBCADPROPO := ALIAS()
SELECT( DBCADPROPO )
oLbx:Refresh()
RETURN NIL
Regards, saludos.