|
||||||||||||||||||
As tabelas podem ser filtradas antes de ser abertas nas janelas PAD, restringindo os dados trazidos do servidor, de forma
O string resultado é utilizado na cláusula WHERE. Utilize Argow Commander para editar os filtros interativos. Existem quatro lugares para especificar um filtro fixo:
e um para filtro interativo e dinâmico:
As listas de escolha das colunas lookup podem ser filtradas (com ou sem parâmetros), informando em: Os detalhes de tabelas com filtro mestre interativo podem ser filtrados, informando em: |
||||||||||||||||||
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) e variáveis globais (especificadas com :grupo.nome): ( MONTH( DATA ) = :PARAM.MES_INICIO ) Para não confundir o filtro fixo com um complexo, nunca inicie uma linha com colchete (parêntese reto, ]). |
||||||||||||||||||
Filtro da lista de LookupPara filtrar a lista de escolha das colunas n ⇒ 1 (dicJoin.IsLookup←true), deve especificar o filtro na seção [$list] em dicJoin.TableFilter. Neste caso, a tabela é filtrada somente quando a lista de seleção é aberta. O Filtro é local (gerenciado ADO, ver ADO Filter Property). Notar que os nomes das colunas estão à esquerda do operador. Cláusulas podem ser concatenadas com AND ou OR. Para criar um filtro opcional, veja dicJoin.ItemAction listFilter. [$List] O filtro pode conter referências a outras colunas da tabela detalhe: [$List] ou colunas da tabela master (antecedida da palavra reservada $master): [$List] ou variáveis Argow ou globais (especificadas com :grupo.nome): [$List] Se precisar informar um filtro para a tabela (não para a lista de seleção) utilize a seção [$Table]: [$Table] |
Filtro em Detalhes com Mestre InterativoPara filtrar tabelas detalhes 1 ⇒ n (dicJoin.IsLookup←false), deve especificar o filtro na seção [$Master] em dicJoin.TableFilter. A tabela é filtrada somente quando existe filtro interativo na tabela mestre. Existe uma palavra reservada ($auto) e um parâmetro ($master) para especificar o filtro. [$Master] O parâmetro $master é substituído pelo filtro interativo aplicado à tabela mestre. Podem ser incluidas variáveis Argow e globais. [$Master] Pode usar $auto quando o relacionamento for por somente uma coluna, já que o filtro é criado automaticamente da seguinte forma: [$Master] Para indicar que seja montado um filtro automático para todos os detalhes cuja tabela mestre tem filtro interativo, use a configuração global DETAIL_AUTO_FILTER (em dicConfig). Se deseja evitar o filtro automático numa tabela especifica, use a palavra reservada $none: [$Master] Se precisar informar um filtro para a tabela (não para o interativo) utilize a seção [$Table]: [$Table] |
|||||||||||||||||
Filtro InterativoEm dicAppMenu.TableFilter é possível especificar filtros interativos. Antes de abrir a tabela, a janela de filtro é apresentada ao usuário para que informar os valores das variáveis. O filtro interativo aplicado numa tabela pode ser acessado com uiFilter e editado em Argow Commander. 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−2015 Argow |