ajuda com campo

Discussão em 'Progress 4GL' iniciado por akaytatsu, Fevereiro 22, 2010.

  1. akaytatsu

    akaytatsu Membro Participativo

    Pessoal, tenho uma Window CadastroSimples e la tenho um campo chamado GHHT-Caminhao.UF (unidade federativa)

    como faço para colocar neste campo aquela loopa e quando a pessoa clicar aparecer uma lista com as unidades federativas da MGUNI.UNID-FEDER e ao selecionar o campo GHHT-Caminhao.UF for preenchido com o valor "MGUNI.UNID-FEDER.ESTADO"?
  2. williamsrcosta

    williamsrcosta Membro Participativo

    cara eu tinha certinho mais perdi o código da uma olhada nisso que eu achei no manual de padrões vê se te ajuda


    f) chamada de zoom com passagem de parâmetros:
    • criação na Window do programa de zoom de uma procedure que recebe e trata os parâmetros e os repassa para os browses do zoom:
    define input parameter p-tipo-contr as char no-undo.
    run pi-seta-inicial in h_b25in172 (input p-tipo-contr).
    run pi-seta-inicial in h_b26in172 (input p-tipo-contr).
    • criação nos browses do zoom de uma procedure que recebe os parâmetros recebidos da Window de zoom, e transfere o conteúdo para variáveis que influenciarão a abertura da query:
    define input parameter p-tipo-contr as char no-undo.
    assign c-tipo-contr = p-tipo-contr.
    • código do open query de cada browser que compõe o zoom:
    open query br-table for each item
    where item.it-codigo >= c-item-ini
    and item.it-codigo <= c-item-fim
    and item.tipo-contr = p-tipo-contr.
    • passagem para o include de zoom dos parâmetros através de &parametros.
    ON F5 OF c-item-pai in frame f-pg-par
    OR MOUSE-SELECT-DBLCLICK OF c-item-pai in frame f-pg-par DO:
    {include/zoomvar.i &prog-zoom=inzoom/z01in172.w
    &campo=item.it-codigo
    &campozoom=c-item-pai
    &parametros="run pi-seta-inicial in wh-pesquisa (input param-cp.tipo-contr)."}
    END.
    Observação Quando o zoom é chamado, executa o conteúdo de &parâmetros. Este, no exemplo, chama a procedure pi-seta-inicial, localizada dentro da Window do programa de zoom (representada pela variável wh-pesquisa), passando para esta procedure como parâmetro um valor de sistema (param-cp.tipo-contr). A procedure pi-seta-inicial, na Window do zoom, recebe o parâmetro e o envia para o browse, através do chamado da procedure pi-seta-inicial, dentro do browse, recebe o valor e atribui à variável de filtro (c-tipo-contr) utilizada para abrir a query.
    Por fim, para todos os campos em frames (não é possível para colunas de browsers) que possuem zoom é necessário alterar o ponteiro do mouse, através do método load-mouse-pointer, normalmente isto é realizado no main-block do programa. Exemplo:
    c-item-pai:load-mouse-pointer ("image/lupa.cur") in frame {&frame-name}.
    Observação Utilizar sempre a sintaxe acima, no início do Main Block.
    5. Criar o gatilho de Mouse-Select-DblClick o campo que possui o zoom com o seguinte código:
    apply 'F5' to self.
    6. No Main-block, deve-se alterar o ponteiro do mouse para o campo chave estrangeira. No exemplo:
    costumer.state:load-mouse-pointer ("image/lupa.cur") in frame {&frame-name}.

Compartilhe esta Página