Página 1 de 1
Preencher com dados do dbf em um combobox
Enviado: 10 Fev 2010 13:41
por marcos.gurupi
Como eu faco no exemplo abaixo preencher os dados de um combobox com os dados de um dbf?
iEmpAtiva:={"EMPRESA 1","Empresa 2","Empresa 3"}
@ 18,15 GET COMBOBOX oEmpAtiva VAR vEmpAtiva ITEMS iEmpAtiva SIZE 655,300 STYLE CBS_UPPERCASE COLOR 255 FONT HFont():Add( 'Courier New',0,-13,700,,,)
Marcos Roberto
Re: Preencher com dados do dbf em um combobox
Enviado: 10 Fev 2010 15:02
por Toledo
Marcos, basta adicionar na matriz o campo com o nome das empresas, por exemplo:
EMPRESA é nome do campo do DBF onde está o nome da empresa.
Abraços,
Re: Preencher com dados do dbf em um combobox
Enviado: 12 Fev 2010 12:13
por sygecom
Ou em tempo de execução:
Código: Selecionar todos
********************************************
FUNCTION RECARREGA_COMBO_UF(vP1,oOBJ,aARRAY)
********************************************
Local aItens_CID_TEMP:=CARREGA_CIDADES_UF(vP1)
DO WHILE .T.
FOR nI := 1 TO Len(aARRAY)
ADel( aARRAY, nI, .T. )
NEXT
IF Len(aARRAY) <= 0
EXIT
ENDIF
ENDDO
FOR nI := 1 TO Len(aItens_CID_TEMP)
AADD(aARRAY,aItens_CID_TEMP[nI,1])
NEXT
IF LEN(aARRAY) > 0
oOBJ:aItems:= aARRAY
oOBJ:Requery()
oOBJ:Setitem(1)
ENDIF
Return(aARRAY)
Re: Preencher com dados do dbf em um combobox
Enviado: 13 Fev 2010 00:58
por marcos.gurupi
Obrigado amigos!!
Marcos Roberto.
Re: Preencher com dados do dbf em um combobox
Enviado: 13 Fev 2010 09:07
por esbasso
a combobox tem suporte direto ao campo do dbf, basta apenas colocar o nome do campo com alias na frente
@ 18,15 GET COMBOBOX oEmpAtiva VAR vEmpAtiva ITEMS {"empresa->campo"} SIZE 655,300 STYLE CBS_UPPERCASE COLOR 255 FONT HFont():Add( 'Courier New',0,-13,700,,,)
ou ainda
@ 18,15 GET COMBOBOX oEmpAtiva VAR vEmpAtiva ITEMS {"cidades->cidade","cidades-codigo"} SIZE 655,300 STYLE CBS_UPPERCASE COLOR 255 FONT HFont():Add( 'Courier New',0,-13,700,,,)
cria a combobox com array de 2 colunas podendo ser pego o valor do codigo ,apesar de se mostrar as cidades
exemplo
SUPONDO QUE O ARQUIVO CIDADES TENHA UM INDICE POR ESTADO
FUNCTION cidades
LOCAL, vCombo1 := 1, vCombo2 := 1
LOCAL oCombo1, oCombo2 , oLabel2, oLabel3
DBSELECTAREA('cidades')
DBSETORDER(1)
DBSEEK("RS")
ORDSCOPE(0,"RS")
ORDSCOPE(1,"RS")
DBGOTOP()
@ 182,110 SAY oLabel2 CAPTION "UF:" SIZE 28,19
@ 219,107 GET COMBOBOX oCombo2 VAR vCombo2 ;
ITEMS {[RS],"SC","PR"} TEXT ;
SIZE 82,23 ;
ON CHANGE {|value,This| oCombo2_onChange( value,This ) } ;
ON INIT {|This| THIS:LTEXT:=.T. }
@ 151,139 SAY oLabel3 CAPTION "Cidades:" SIZE 61,19
@ 221,136 GET COMBOBOX oCombo1 VAR vCombo1 ;
ITEMS {[cidades->cidade]} ;
SIZE 299,23 DISPLAYCOUNT 20
ACTIVATE DIALOG oDlg
STATIC FUNCTION oCombo2_onChange( value,This )
DBSEEK(THIS:VALUE)
ORDSCOPE(0,THIS:VALUE)
ORDSCOPE(1,THIS:VALUE)
GO TOP
ThisForm:oCombo1:REQUERY()
RETURN Nil