|
|||||||||||||||||||
|
As tabelas podem ser filtradas antes de ser abertas nas janelas PAD, restringindo os dados trazidos do servidor, de forma fixa, interativa ou dinâmica. O filtro resultado é utilizado na cláusula WHERE. Utilize Argow Commander para editar os filtros. Existem cinco lugares para especificar um filtro fixo:
e um para filtro interativo e dinâmico:
|
|||||||||||||||||||
Filtro FixoOs filtros fixos podem ser simples como ( CODE = 5 ) ou ( ( MONTH( DATA ) = MONTH( getDate() ) ) AND ( YEAR( DATA ) = YEAR( getDate() )) ou conter variáveis Argow, como: (FK_Funcionario = :AR_UserName) ( ( MONTH( DATA ) = MONTH( :PARAM.DATA_INICIO ) ) |
|||||||||||||||||||
Filtro de Lookup com ParâmetrosOs filtros para colunas 1 ⇒ n (dicJoin.IsLookup ←true), especificados em dicJoin.TableFilter, podem conter referências a outras colunas da tabela detalhe: ( FK_CLIENTE = :CLIENTE ) ou colunas da tabela master (antecedida da palavra reservada $master): ( FK_CLIENTE = :$master.FK_CLIENTE ) Neste caso, a tabela detalhe é filtrada localmente (pelo ADO, ver ADO Filter Property). Notar que os nomes das colunas estão à esquerda do operador. Clausulas podem ser concatenadas com AND ou OR. |
|||||||||||||||||||
Filtro InterativoEm dicAppMenu.TableFilter é possível especificar filtros interativos. Antes de abrir a tabela, a janela de filtro é apresentada ao usuário para que informr os valores das variáveis. O filtro interativo tem a seguinte sintaxe, com todas as chaves opcionais: [name] Onde
Por exemplo, para filtrar pela coluna DATA, o mais simples é: [DATA] As colunas não necessariamente devem pertencer a tabela que será filtrada, mas sim o último galho da árvore. Por exemplo, no arDemo é possível selecionar as cidades de "Centro América", com o filtro:
Para especificar um filtro fixo e um interativo, utilize a seção especial [$Table]: [$Table] |
|||||||||||||||||||
Filtro DinâmicoEm dicAppMenu.TableFilter é possível especificar filtros dinâmicos. Antes de mostrar a tabela o script é executado e o resultado da função (que deve ser string) é adicionado a clausula where. [$script] O script de onOpen é executado somente uma vez, antes de abrir a tabela. Por outra lado, bFilter é associado ao botão de filtro é executado cada vez que este botão é clicado. ExemploO seguinte script utiliza variáveis globais para solicitar ao usuário o número de dias passados de Notas Fiscais que deseja ver, filtrando a coluna data de emissão (tbNOTASFISCAL.EMISSAO):
function pedeDias(): string; |
|||||||||||||||||||
| © 2008−2011 Argow | |||||||||||||||||||