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

Como ativar a edição do browse somente após clicar num botão

Discussão em 'Progress 4GL' iniciado por joelscampos, Janeiro 8, 2013.

  1. joelscampos

    joelscampos Membro Participativo

    Tenho um browse e gostaria que as colunas do browse só fossem habilitadas para edição depois de clicar no botão "modifica".
    O que consegui fazer foi, deixar o browse disable no frame, e só habilitá-lo na trigger do botão "modifica", mas o problema é que quando o browse está disable, as barras de rolagem ficam travadas.

    Por favor, alguém sabe uma solução?

    Código:
    DEF TEMP-TABLE tt-redeacomod NO-UNDO
        FIELD cd-rede           AS INTEGER      FORMAT "99999999"           LABEL "Cod. Rede " 
        FIELD ds-rede           AS CHARACTER    FORMAT "x(50)"              LABEL "Descricao"  
        FIELD ds-acomodacao     AS CHARACTER    FORMAT "x(15)"              LABEL "Acomodacao"
        FIELD dt-atualizacao    AS DATE         FORMAT "99/99/9999"         LABEL "Atualizacao"
        INDEX idx1 IS UNIQUE cd-rede.
    
    
    /****************** VARIAVEIS DE TELA  ********************************/
    DEF BUTTON bt-inclui            AUTO-GO LABEL "Inclui".
    DEF BUTTON bt-elimina           AUTO-GO LABEL "Elimina".
    DEF BUTTON bt-modifica          AUTO-GO LABEL "Modifica".
    DEF BUTTON bt-sair              AUTO-GO LABEL "Sair".
    
    
    /*== Query ==*/
    DEFINE QUERY q-redeacomod FOR tt-redeacomod.
    
    /*== Browser ==*/
    DEFINE BROWSE b-redeacomod QUERY q-redeacomod
       DISPLAY tt-redeacomod.cd-rede       
               tt-redeacomod.ds-rede       
               tt-redeacomod.ds-acomodacao  VIEW-AS COMBO-BOX
               tt-redeacomod.dt-atualizacao
        ENABLE ALL EXCEPT tt-redeacomod.dt-atualizacao
       WITH OVERLAY WIDTH 80  SEPARATORS 14 DOWN EXPANDABLE.
    
    
    CREATE tt-redeacomod.
    ASSIGN tt-redeacomod.cd-rede        = 1
           tt-redeacomod.ds-rede        = "Rede Nacional"
           tt-redeacomod.ds-acomodacao  = "Individual"
           tt-redeacomod.dt-atualizacao = TODAY.
    
    
    
    /*== Frame ==*/
    DEF FRAME f-principal
        b-redeacomod                AT 1
        bt-inclui                   AT COLUMN 1  ROW 21
        bt-modifica                 AT COLUMN 10 ROW 21
        bt-elimina                  AT COLUMN 20 ROW 21
        bt-sair                     AT COLUMN 30 ROW 21
       WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY 
       SIDE-LABELS NO-UNDERLINE FONT 2
       AT COL 1 ROW 1 SIZE 80 BY 22 .
    
    
    ON 'choose':U OF bt-sair
    DO:
        APPLY "close":u TO THIS-PROCEDURE.
    END.
    
    ON 'choose':U OF bt-modifica
    DO:
        ENABLE b-redeacomod WITH FRAME f-principal.
        
    END.
         
    ENABLE ALL EXCEPT b-redeacomod WITH FRAME f-principal.
    OPEN QUERY q-redeacomod FOR EACH tt-redeacomod.
        WAIT-FOR "close":u OF THIS-PROCEDURE.
    

    *******************
    RESOLVIDO

    ASSIGN BROWSE b-redeacomod:SENSITIVE = YES
    BROWSE b-redeacomod:READ-ONLY = YES.

    ON 'choose':U OF bt-modifica
    DO:

    BROWSE b-redeacomod:READ-ONLY = FALSE.

    END.
  2. cdaniel

    cdaniel Sem Pontuação

    Era bem isso que eu estava precisando também.

Compartilhe esta Página