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
Preencher com dados do dbf em um combobox
Moderador: Moderadores
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Preencher com dados do dbf em um combobox
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,
Código: Selecionar todos
DO WHILE !EOF()
AADD(iEmpAtiva,EMPRESA)
SKIP
ENDDOAbraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Preencher com dados do dbf em um combobox
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)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Re: Preencher com dados do dbf em um combobox
Obrigado amigos!!
Marcos Roberto.
Marcos Roberto.
Marcos Roberto
NetService Software
NetService Software
Re: Preencher com dados do dbf em um combobox
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
@ 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
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
