Página 1 de 1

Cambiar os Items de um Combobox, e possível?

Enviado: 24 Jun 2011 19:18
por Adalberto
Ola caros amigos do foro, boa tarde.

Gostaria poder cambiar o conteúdo De um COMBOBOX (items) quando o programa esta em execução, e possível isso? Se os senhores sabem como, por favor, me ajudem.

Muito obrigado

Cambiar os Items de um Combobox, e possível?

Enviado: 25 Jun 2011 21:33
por Adalberto
Óla amigos e amigas

Com ajuda de amigos de outro foro consegui solução para este problema, foi assim:
Deletando os item com deleteallitems e carregando os novos items com additem (métodos do control ComboboxEx).

Muito brigado a eles e a vocês também.

Abraços

Cambiar os Items de um Combobox, e possível?

Enviado: 27 Jun 2011 16:54
por Pablo César
Puxa interessante ! Obrigado Adalberto por compartilhar conosco.

Cambiar os Items de um Combobox, e possível?

Enviado: 28 Jun 2011 21:07
por rossine
Boa noite pessoal,

Eu uso duas funçoes aqui: Uma que retorna os itens e outra para setar novos valores. Me lembro que montei ela quando estava começando a usar a minigui, então, as vezes pode-se ter soluções mais simples,

Código: Selecionar todos


*******************
function ComboItens( cWnd, cCbx )
*******************
local idx
local aItens := { }, n, t

try
  idx := GetControlIndex( cCbx, cWnd )
catch
  idx := 0
end

if Idx > 0
   t := getproperty( cWnd, cCbx, "ItemCount" )
   for n = 1 to t
       aadd( aItens, getproperty( cWnd, cCbx, "Item", n ) )
   next
else
   msgstop( "Campo não existe [" + cWnd + "." + cCbx + "]. Verifique !!!", "Erro" )
endif

return aItens

**********************
function SetComboItens( cWnd, cCbx, aItens, nAt )
**********************

local idx, n

DEFAULT nAt := 1

try
  idx := GetControlIndex( cCbx, cWnd )
catch
  idx := 0
end

if Idx > 0
   domethod( cWnd, cCbx, "DeleteAllItems" )
   for n = 1 to len(aItens)
       domethod( cWnd, cCbx, "AddItem", aItens[n] )
   next
   setproperty( cWnd, cCbx, "value", nAt )
else
   msgstop( "Campo não existe [" + cWnd + "." + cCbx + "]. Verifique !!!", "Erro" )
endif

return aItens

Bom é isto aí, se alguém melhorar estas funções ou tiver outras mais eficientes, favor compartilhem conosco ok ?

Abraços,

Rossine.