1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Combo Box

Discussão em 'Progress 4GL' iniciado por erickles, Abril 17, 2009.

  1. erickles

    erickles Membro Participativo

    Pessoal,

    Vocês tem algum exemplo de combo box, no caso , seria pro progress grafico...

    Valeu!
  2. sl4v3r

    sl4v3r Membro Participativo

    Segue um exemplo de combo box...

    Código:
    DEFINE VARIABLE lOk AS LOGICAL NO-UNDO.
    
    DEFINE BUTTON btSair LABEL "Sair".
    
    DEFINE VARIABLE cEstado AS CHARACTER FORMAT "x(30)"
           VIEW-AS COMBO-BOX INNER-LINES 5.
    
    DEFINE FRAME main-frame
       cEstado LABEL 'Escolha o estado'
       SKIP
       btSair
       WITH WIDTH 60 CENTERED OVERLAY VIEW-AS DIALOG-BOX
       SIDE-LABELS TITLE " Estados do Brasil ".
    
    ON RETURN OF btSair IN FRAME main-frame DO:
       MESSAGE "O estado escolhido foi " INPUT FRAME main-frame cEstado VIEW-AS ALERT-BOX.
       APPLY "close" TO FRAME main-frame.
    END.
    
    FOR EACH estados
    NO-LOCK:
       cEstado:ADD-last(estados.cod + " - " + estados.nome).
    END.
       
    ENABLE cEstado
           btSair
           WITH FRAME main-frame.
    
    WAIT-FOR CLOSE OF FRAME main-frame. 
    
  3. eriutoncharles

    eriutoncharles Membro Participativo

    Código:
    /* Definitions of the field level widgets                               */
    
    DEFINE BUTTON BUTTON-1 
         LABEL "Button 1" 
         SIZE 11 BY .95.
    
    DEFINE BUTTON BUTTON-2 
         LABEL "Button 2" 
         SIZE 10 BY .95.
    
    DEFINE VARIABLE COMBO-BOX-1 AS CHARACTER FORMAT "X(256)":U 
         LABEL "Combo 1" 
         VIEW-AS COMBO-BOX INNER-LINES 5 
         LIST-ITEMS " "
         SIZE 38 BY 1 NO-UNDO.
    
    DEFINE FRAME DEFAULT-FRAME
         BUTTON-2 AT ROW 2.67 COL 32
         COMBO-BOX-1 AT ROW 4.57 COL 17 COLON-ALIGNED
         BUTTON-1 AT ROW 7.19 COL 32
        WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY 
             SIDE-LABELS NO-UNDERLINE THREE-D 
             AT COL 1 ROW 1
             SIZE 80 BY 16.
    
    ON CHOOSE OF BUTTON-2 IN FRAME DEFAULT-FRAME /* Button 2 */
    DO:
      IF NOT INPUT FRAME DEFAULT-FRAME COMBO-BOX-1:ADD-LAST("TESTANDO INCLUSÂO DE ITEM") THEN BELL.
      
    /* Aqui vc vai adicionar os itens no Combo-Box, Vc pode usar o FOR EACH, DO, WHILE...
          Ex:
         FOR EACH Tabelax.
            IF NOT COMBO-BOX-1:ADD-LAST(Tabelax.NomeCampo) THEN BELL. 
         END.
       
        FOR EACH Cidade NO-LOCK.
               IF NOT COMBO-BOX-1:ADD-LAST(Cidade.Nome) THEN BELL. 
        END.
    */
    
    END.
    
    ON CHOOSE OF BUTTON-1 IN FRAME DEFAULT-FRAME /* Button 1 */
    DO:
      MESSAGE COMBO-BOX-1:SCREEN-VALUE VIEW-AS ALERT-BOX.
    
     /* Exemplo de como Pegar o que foi Selecionado 
         IF COMBO-BOX-1:SCREEN-VALUE <> ? THEN DO.
             FIND Cidade WHERE Cidade.Nome = COMBO-BOX-1:SCREEN-VALUE NO-ERROR.      
        END. 
    */
    
    END.
    
    E por ai vai....
  4. erickles

    erickles Membro Participativo

    Bem, achei uma solução!

    Código:
      FOR EACH cadprconc WHERE cadprconc.conc-documento = cb-concorrente:SCREEN-VALUE:
          ASSIGN cb-produto:add-last (cadprconc.pro-codpro). 
      END. 
    
    Coloquei na procedure enable_UI, simples assim!

    Valeu mesmo pessoal!

Compartilhe esta Página