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
// viewtopic.php?f=3&t=38397
// 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
c_Descripcion := 1
n_Cantidad := 2
REDEFINE XBROWSE oBrwArticulos Id 10 DATASOURCE aArticulos ;
COLUMNS 2, 29 ;
HEADERS "Descripcion" ,;
"Cantidad" ;
FIELDSIZES 350,150 ;
PICTURE nil,"@E 9,999,999.99" ;
JUSTIFY AL_LEFT ,;
AL_RIGHT ;
CELL LINES ;
FASTEDIT ;
of oDlg_Articulos
WITH object aArticulos
oBrwArticulos :l2007 := .t.
oBrwArticulos :lRecordSelector := .t.
:cFilterFld := "DESCRIPCION"
oBrwArticulos :aCols[c_Descripcion] :nHeadStrAlign := AL_CENTER
oBrwArticulos :aCols[n_Cantidad] :nHeadStrAlign := AL_CENTER
oBrwArticulos :aCols[c_Descripcion] :oHeaderFont := oFontHeader
oBrwArticulos :aCols[n_Cantidad] :oHeaderFont := oFontHeader
oBrwArticulos :oDataFonts :=oFontData
END
WITH OBJECT oBrwArticulos:aCols[n_Cantidad]
oCol :=oBrwArticulos:aCols[n_Cantidad]
:nEditType := EDIT_GET
oBrwArticulos:aCols[n_Cantidad]:bClrStd := ChangeColor( )
END
oBrwArticulos:Refresh()
artu01 wrote:Checka:
https://forums.fivetechsupport.com/view ... l+with+get
// \samples\XBRWGET.PRG
#Include "FiveWin.ch"
#Define CLR_LGREEN nRGB( 190, 215, 190 )
#Define CLR_SOFTYELLOW nRGB( 255, 251, 225 )
ANNOUNCE RDDSYS
REQUEST DBFCDX, DBFFPT
FUNCTION Main()
LOCAL oDlg, oFont, oBrw, aCols, oGet, oCbx, cHead, aHead, aGrad, cTitle
LOCAL cSeek := SPACE( 100 )
SET DATE BRITISH
SET CENTURY ON
SET DELETED ON
tGet():lDisColors := .F.
tGet():nClrTextDis := CLR_HBLUE
tGet():nClrPaneDis := CLR_SOFTYELLOW
SetGetColorFocus( CLR_LGREEN )
FERASE( "CUSTOMER.CDX" )
USE CUSTOMER VIA "DBFCDX"
FW_CdxCreate() // CREA TU PROPIO INDICE.
SET ORDER TO TAG FIRST
GO TOP
aCols := { ;
{ "FIRST", "Nombre",, 120, }, ;
{ "LAST", "Apellido",, 120, }, ;
{ "STREET", "Dirección",, 180, }, ;
{ "CITY", "Ciudad",, 150, }, ;
{ "STATE", "Estado",, 50, } }
aHead := ArrTranspose( aCols )[ 2 ]
cHead := "Nombre"
// aGrad := { { 0.30, CLR_BLACK, CLR_YELLOW},{ 0.50, CLR_YELLOW, CLR_BLACK } }
aGrad := { { 0.30, CLR_CYAN, CLR_HCYAN },{ 0.50, CLR_HCYAN, CLR_CYAN } }
cTitle := "Busqueda Incremental Para José Alvarez"
DEFINE FONT oFont NAME "TAHOMA" SIZE 0, -14
DEFINE DIALOG oDlg TITLE cTitle SIZE 800, 600 PIXEL TRUEPIXEL FONT oFont ;
GRADIENT aGrad
oDlg:lHelpIcon := .F.
@ 20, 20 COMBOBOX oCbx VAR cHead ITEMS aHead ;
SIZE 150, 200 PIXEL OF oDlg ;
ON CHANGE ( oBrw:Seek( "" ), ;
oBrw:cFilterFld := oBrw:oCol( cHead ):cExpr, ;
oBrw:SetFocus() )
@ 20, 300 GET oGet VAR cSeek SIZE 466, 24 PIXEL OF oDlg ;
VALID( BUSCA_NOMBRE( cSeek, oBrw, oGet ) )
// ON CHANGE... Funciona?
@ 70, 20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
DATASOURCE "CUSTOMER" COLUMNS aCols ;
AUTOSORT CELL LINES NOBORDER
WITH OBJECT oBrw
:lIncrFilter := .T.
:lSeekWild := .T.
:oSeek := oGet
:bKeyDown := { |nKey| If( nKey == VK_RETURN, ( oDlg:End() ), NIL ) }
:bKeyChar := { |nKey| If( nKey == VK_ESCAPE, ( oBrw:Seek( "" ), oDlg:End() ), nil ) }
:bLDblClick := { || cSeek := oBrw:aRow[ 2 ], oDlg:End() }
:CreateFromCode()
END
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oBrw:cSeek( "" ), oBrw:SetFocus(), .F. )
RELEASE FONT oFont
RETURN NIL
FUNCTION BUSCA_NOMBRE( bSeek, oBrw, oGet )
LOCAL ErroSeek := SPACE( 100 )
SEEK( UPPER( bSeek ) )
IF FOUND()
oBrw:Refresh()
oBrw:SetFocus()
ELSE
SET SOFTSEEK ON
SEEK( UPPER( bSeek ) )
oGet:VARPUT( ErroSeek )
oGet:Refresh()
SET SOFTSEEK OFF
ENDIF
RETURN( .T. )
// FIN / END
karinha wrote:En mi humilde opinión, xBrowse () se está volviendo ilimitado. Simplemente fantástico.
https://imgur.com/fsPWkFW
Regards, saludos.
IF ! file ( CURDRIVE() +":"+cRuta+"\DATA\SATINDEX.DBF")
msgstop("No se encontró la base de datos de SAT";
)
else
USE ( CURDRIVE() +":"+cruta+"\DATA\SATINDEX.DBF") ALIAS "INDICE" index "SATINDEX" SHARED NEW
ENDIF
SELE INDICE
INDICE->(dbgoTOP())
DEFINE DIALOG oDlg FROM 3, 3 TO 33, 100 TITLE "Mantenimiento de SAT"
oDlg:nStyle:=nAnd(oDlg:nStyle, nNOt(WS_SYSMENU))
@ 11,110 GET oGet VAR cSeek SIZE 250,10 PIXEL OF oDlg COLOR CLR_BLACK,CLR_YELLOW PICTURE '@!'
oGet:cTooltip:= {"Introduzca nombre de la SAT o parte de ella.","Búsqueda incremental"}
@ 2,1 XBROWSE oLbx SIZE 360, 160 OF oDlg DATASOURCE "INDICE" ;
COLUMNS "NOMBRE_SAT","N_REG_IFA","MUNIC_SOC", "PROVIN_SOC","ALT_DIS_CA";
HEADERS "Denomimación", "Nº registro", "Localidad", "Provincia", "Situación";
COLSIZES 310,70,100,80,250 CELL LINES FOOTERS AUTOSORT FASTEDIT
oCol:= oLbx:aCols[ 1 ]
oLbx:lHScroll:= .F.
oLbx:lVScroll:= .T.
// oLbx:lfastdraw:=.t.
WITH OBJECT oLbx
:lIncrFilter := .t.
: oSeek := oGet
:lSeekWild := ( nWild == 2 )
:cFilterFld := "NOMBRE_SAT"
:nStretchCol := STRETCHCOL_WIDEST
END
oLbx:CreateFrom
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: AngelSalom, Google [Bot] and 71 guests