Bom dia,
Como sabem passou a existir a possibilidade de pesquisa automática nas Grids.
Esta pesquisa tem dois modos:
- Local (se não tiver paginação)
- Pesquisa sobre todos os campos visíveis na Grid (mesmo os calculados)
- A pesquisa é feita por JS localmente
- Remota (se tiver paginação e ajaxEvent)
- Pesquisa remotamente com novo pedido ao OnAjax
- Esta pesquisa usa todos os campos declarados na Grid, mesmo os escondidos, desde que não sejam calculados
Situações a ter em atenção:
- Muitas vezes mostram-se dados críticos em campos calculados (aluno, disciplina, ano letivo) e não são colocados os campos originais do cálculo como HIDDEN. Desta form a pesquisa remota não pesquisará dentro dos mesmos. DEVEM ser adicionados como escondidos todos os campos a pesquisar
- Pesquisa sobre campos que não são possível de obter por JOIN (limitações do DataSet). Ver próxima parte...
Foi adicionada uma nova funcionalidade para ensinar o AutoSearch a pesquisas avançadas, via SQL.
Esta recebe o SQL direto com variável de substituição para dizer onde é aplicado o texto a pesquisar.
response.addAutoSearchBySQLFilter("filterText",
" id_inscri in (select i.register_id from inscri i, tbdiscip d, estagios e " +
"where i.cd_discip = d.cd_discip and e.id_inscri = i.register_id " +
"and (i.cd_lectivo like '%{filterText}%' or i.cd_discip like '%{filterText}%' " +
"or ds_discip like '%{filterText}%'))");
response.addAutoSearchBySQLFilter("filterText", " id_aluno in (select id_aluno from alunos " +
"where cd_curso like '%{filterText}%' or cd_aluno like '%{filterText}%')");
Obrigado.
Com os melhores cumprimentos,