Se você precisa criar uma list box, o ADVPL possui a classe tComboBox. O exemplo abaixo mostra seu funcionamento.
Não esqueça de incluir a chamada da função em seu menu (na imagem).
Segue o código:
#include "rwmake.ch"
user function fComboCli()
local aCodCli:={},;
cQuery,;
oCombo, oFont := tfont():new("lucida console",,-11,.t.), oDiag1
cQuery := "SELECT A1_COD FROM SA1010 WHERE A1_NOME LIKE 'JOAO%'"
cQuery := changequery(cQuery)
dbusearea(.t., "TOPCONN", tcgenqry(,,cQuery), "SA1TMP", .f., .t.)
if .not. SA1TMP->(eof())
SA1TMP->(dbgotop())
do while .not. SA1TMP->(eof())
aadd(aCodCli, SA1TMP->A1_COD)
SA1TMP->(dbskip())
enddo
else
msgalert("Nenhum cliente encontrado para o criterio informado.")
return nil
endif
SA1TMP->(dbclosearea())
@ 200, 1 to 350, 400 dialog oDiag1 title "COMBO CLIENTES"
cCombo := aCodCli[1]
oCombo := tComboBox():new(4, 53, {uif(pcount()>0, cCombo:=u, cCombo )}, aCodCli, 40, 20, oDiag1,,,,,,.t.,oFont,,,,,,,,"cCombo" )
@ 50,5 button "Sair" size 30,10 action close(oDiag1)
activate dialog oDiag1 centered
// O CODIGO ESCOLHIDO NA tComboBox() FICA GUARDADO NA VARIAVEL cCombo
return nil
Quem viu este post, também viu : Barras de progresso
Não esqueça de incluir a chamada da função em seu menu (na imagem).
Segue o código:
#include "rwmake.ch"
user function fComboCli()
local aCodCli:={},;
cQuery,;
oCombo, oFont := tfont():new("lucida console",,-11,.t.), oDiag1
cQuery := "SELECT A1_COD FROM SA1010 WHERE A1_NOME LIKE 'JOAO%'"
cQuery := changequery(cQuery)
dbusearea(.t., "TOPCONN", tcgenqry(,,cQuery), "SA1TMP", .f., .t.)
if .not. SA1TMP->(eof())
SA1TMP->(dbgotop())
do while .not. SA1TMP->(eof())
aadd(aCodCli, SA1TMP->A1_COD)
SA1TMP->(dbskip())
enddo
else
msgalert("Nenhum cliente encontrado para o criterio informado.")
return nil
endif
SA1TMP->(dbclosearea())
@ 200, 1 to 350, 400 dialog oDiag1 title "COMBO CLIENTES"
cCombo := aCodCli[1]
oCombo := tComboBox():new(4, 53, {uif(pcount()>0, cCombo:=u, cCombo )}, aCodCli, 40, 20, oDiag1,,,,,,.t.,oFont,,,,,,,,"cCombo" )
@ 50,5 button "Sair" size 30,10 action close(oDiag1)
activate dialog oDiag1 centered
// O CODIGO ESCOLHIDO NA tComboBox() FICA GUARDADO NA VARIAVEL cCombo
return nil
Quem viu este post, também viu : Barras de progresso
Comentários
Postar um comentário