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