Page 1 of 1
Combox Enlasados
Posted: Sun Aug 09, 2009 9:00 pm
by dobfivewin
Estimados
Como puedo enlasar 2 o mas combox
La idea es según el contenido que se seleccione en un Combox se me actualice el siguiente Combox, en base a una funcion que hace dicha actualizacion don los datos salen del primer Combox
mmm fui claro
muchas gracias
David
Argentina
Re: Combox Enlasados
Posted: Mon Aug 10, 2009 8:46 am
by dobfivewin
Aca paso la rutina
Code: Select all
@ 1, 10 COMBOBOX oCbx_001 VAR cCbx_001 PROMPTS mCbx_001 ;
STYLE CBS_DROPDOWN ;
SIZE 80,40 ;
ON CHANGE ( mCbx_002:=ArmaTipoDocu(VAL(substr(cCbx_001,201,18))) ,;
cCbx_002:=mCbx_002[1] ,;
oCbx_002:refresh() ) ;
VALID ( mCbx_002:=ArmaTipoDocu(VAL(substr(cCbx_001,201,18))) ,;
cCbx_002:=mCbx_002[1] ,;
oCbx_002:refresh() , .T. ) ;
Of oDlgCar
@ 2, 10 COMBOBOX oCbx_002 VAR cCbx_002 PROMPTS mCbx_002 UPDATE ;
SIZE 80,40 ;
Of oDlgCar
la variable mCbx_002 la actualizo con los Items que debo mostrar en el segundo COMBOX.
Haciendo control dicha variable se Actualiza pero NO se muestra en el 2° COMBOX
David
Argetnina
Re: Combox Enlasados
Posted: Mon Aug 10, 2009 3:32 pm
by carlos vargas
use los methodos
para reasignar items
SetItems( aItems, aList )
salu2
Re: Combox Enlasados
Posted: Mon Aug 10, 2009 6:23 pm
by dobfivewin
Hola estimados...
Como me sujeris hacerlo ?
David
Re: Combox Enlasados
Posted: Mon Aug 10, 2009 6:33 pm
by jbrita
Amigo prueba asi
REDEFINE COMBOBOX aGetS[12] VAR fpago ITEMS forpago ID 112 OF oDlg;
ON CHANGE (CargaFormaPago(oDlg,@acDevuelve,fpago,aGets,nTotTot),aGetS[13]:SetItems(acDevuelve),aGets[13]:SetFocus(),xpagar:=0) UPDATE
REDEFINE COMBOBOX aGetS[13] VAR FPagar ITEMS acDevuelve ID 113 OF oDlg;
ON CHANGE (aGets[40]:Refresh(),aGets[35]:SetFocus(),Refrpago(fPagar,aGets,nTotTot) ) UPDATE
Saludos
Re: Combox Enlasados
Posted: Mon Aug 10, 2009 11:36 pm
by mmercado
Hola David:
dobfivewin wrote:La idea es según el contenido que se seleccione en un Combox se me actualice el siguiente Combox, en base a una funcion que hace dicha actualizacion don los datos salen del primer Combox
Aquí tienes un pequeño ejemplo funcional:
Code: Select all
#include "Fivewin.ch"
Function Main()
Local oDlg, nVar, nVar1, aCbx[ 2 ], ;
aArr := { "Uno", "Dos", "Tres" }, ;
aUno := { "Uno Uno", "Uno Dos", "Uno Tres" }, ;
aDos := { "Dos Uno", "Dos Dos", "Dos Tres" }, ;
aTres := { "Tres Uno", "Tres Dos", "Tres Tres" }
nVar := nVar1 := 1
DEFINE DIALOG oDlg FROM 0, 0 TO 200, 200 PIXEL TITLE "Combos Enlazados"
@ 10, 10 COMBOBOX aCbx[ 1 ] VAR nVar ITEMS aArr OF oDlg SIZE 40, 90 PIXEL ;
ON CHANGE aCbx[ 2 ]:SetItems( If( nVar == 1, aUno, If( nVar == 2, aDos, aTres ) ) )
@ 10, 50 COMBOBOX aCbx[ 2 ] VAR nVar1 ITEMS aUno OF oDlg SIZE 40, 90 PIXEL
ACTIVATE DIALOG oDlg CENTERED
Return Nil
Un abrazo.
Manuel Mercado
Re: Combox Enlasados
Posted: Wed Aug 12, 2009 10:31 am
by dobfivewin
_ Vargas, jbrito y Manuel Mercado
MUCHAS GRACIAS
Me solucionaron el problema.
1000000 de gracias
david
argentina
Re: Combox Enlasados
Posted: Thu Aug 13, 2009 6:59 pm
by Jairo Barbosa
Manuel
Saludo Cordial
Serias tan amable y me explicas como con tu ejemplo lo hago desde DBFs
Gracias Manuel
Un Abrazo
Jairo Barbosa