Página 1 de 1

Localizar conteudo no COMBOBOX

Enviado: 15 Set 2011 21:02
por marcos.gurupi
Caros, teu tenho o um conteudo e quero localizar esse conteudo em uma lista no combobox. Como eu consigo isso?

Por exemplo eu tenho um cadastro de grupo de produtos onde cada produto tem o seu grupo, quando entro na tela para alterar o produto eu quero que o meu COMBOBOX fique em cima do grupo jah cadastrado. Nao sei se consegui ser claro!

Marcos Roberto.

Localizar conteudo no COMBOBOX

Enviado: 16 Set 2011 09:26
por asimoes
Marcos,

Veja se ajuda:

local aCombo:={'A','B',"C","D"}
local cLetra:="B"

nCombo:=AScan(aCombo, {|e| e = cLetra})

@ 20, 20 GET COMBOBOX oCombo1 VAR nCombo ITEMS aCombo SIZE 100, 23

Ou
LOCAL aCombo:={'A','B',"C","D"}
PRIVATE nCombo:=1

@ 20, 20 GET COMBOBOX oCombo1 VAR nCombo ITEMS aCombo SIZE 100, 23;
ON INIT {|| Teste("C") }

FUNCTION TESTE(cLetra)
nCombo:=AScan(aCombo, {|e| e = cLetra})
RETURN Nil

Localizar conteudo no COMBOBOX

Enviado: 17 Set 2011 22:21
por marcos.gurupi
Infelizmente nao deu certo. Tentei assim:

Código: Selecionar todos

Local Areant:=Select()
local LocGrupo
Select 20
ordsetfocus(2)
dbseek(Prod001->_Grupo)
LocGrupo:=Descricao
vGrupo:=AScan(iGrupo, {|e| e = LocGrupo})
MsgInfo(vGrupo)  //Aqui retorna 0
oGrupo:Refresh()
Select(Areant)
Return .T.

Marcos Roberto.

Localizar conteudo no COMBOBOX

Enviado: 18 Set 2011 10:26
por asimoes
Marcos,

Você poderia mostrar o código onde você monta o vetor iGrupo?

Localizar conteudo no COMBOBOX

Enviado: 19 Set 2011 00:08
por marcos.gurupi
Claro, ai vai:

Código: Selecionar todos

@  W(15),H(140) GET COMBOBOX oGrupo VAR vGrupo  ITEMS iGrupo ON INIT {||AlimentaCombobox(20,2,Grupo->Descricao,oGrupo),PosGrupo()} SIZE W(160),H(22) FONT HFont():Add( '',0,-11,700,,,)


Static Function AlimentaCombobox(Area,ordem,Var,Obj)

Local Areant:=Select()
Local aitems:={}
select(Area)
ordsetfocus(Ordem)
dbgotop()
DO WHILE !EOF()
   If Area=21
      aadd(aItems,codigo+" - "+Transform(T_ICMS,"@R 99.99%")+" - "+Transform(Reduc,"@r 99.99%"))
   Else
      aadd(aItems,Descricao)  //AQUI EH A ALIMENTACAO DO GRUPO DE PRODUTOS
   Endif   
   DBSKIP()
ENDDO
Obj:aItems:=aItems
Select(Areant)
RETURN iif(Area=21,iCodFiscal,iHistorico)
Marcos Roberto.

Localizar conteudo no COMBOBOX

Enviado: 19 Set 2011 12:49
por asimoes
Marcos,

Não estou vendo no seu exemplo como o vetor iGrupo que você postou antes, está sendo incrementado.
vGrupo:=AScan(iGrupo, {|e| e = LocGrupo})
Onde o vetor é inicializado?