none
Lookup em campos Dialog de um Relatório RRS feed

  • Pergunta

  • Prezados, boa tarde !

    Tenho um relatório onde criei um campo via Dialog na capa do relatório chamado Estado. Este campo está funcional, porém, tenho alguns Estados chamados "EX" devido a cadastro de Países Estrangeiros. ( Tabela AddressState / StateId ).

        dialog.addGroup("Dados do Cliente");
        dEstado = dialog.addField(typeid(StateId),"Estado","");
        destado.value(Estado);

    Como eu poderia filtrar este Dialog para trazer somente os estados Brasileiros.

    Além disto, criei um outro dialog para escolhermos as Cidades.

    Neste segundo dialog, gostaria que viessem somente as Cidades do estado que escolhi acima.

    Como faço isto ?

    Um abraço,

    Nilo Lima.

    segunda-feira, 15 de setembro de 2014 18:37

Todas as Respostas

  • Melhor maneira de resolver isso é criando um form e programando direto nele, ai você usa o form dentro do dialog.

    Software Development Engineer - Global Finance Management Team - www.daxdev.com.br -

    terça-feira, 16 de setembro de 2014 17:52
  • Nilo,

    Para implementar o lookup você vai precisar de duas coisas:

    1. Abra o Dialog, clique com o botão direito do mouse no campo "Estado" e selecione "Personalizar". Verifque o nome do controle atribuído à ele. Se, por exemplo, o nome for Fld2_1 então você precisará criar o seguinte método: 


    void fld2_1_lookup()
    {
        Object control = dialog.formRun().controlCallingMethod();
        ;
    
       // Implemente aqui o seu filtro de estado
    }

    Segundo, você deverá sobrescrever o método abaixo na sua classe:

    public void dialogPostRun(DialogRunbase _dialog) { super(_dialog);

    _dialog.dialogForm().formRun().controlMethodOverload(true);

    _dialog.dialogForm().formRun().controlMethodOverloadObject(this); }

    Para o filtro de Cidades basta seguir o mesmo raciocínio e utilizar o valor do Estado selecionado.

    Abraços.

    • Sugerido como Resposta Edvandro Santos quarta-feira, 17 de setembro de 2014 17:03
    quarta-feira, 17 de setembro de 2014 17:03