VP
Busca Rapida no Grid - não consigo fazer funcionar
Bom dia!
Estou tentando fazer funcionar o novo recurso de busca rapida a partir do grid, porém não está funcionando.
Segue abaixo meu código, caso alguém puder me ajudar, agradeço.
Estou tentando fazer funcionar o novo recurso de busca rapida a partir do grid, porém não está funcionando.
Segue abaixo meu código, caso alguém puder me ajudar, agradeço.
$this->datagrid->createModel();
//Busca rapida
$input_search = new TEntry('input_search');
$input_search->placeholder = 'Pesquisar';
$input_search->setSize('100%');
//Habilitar busca rápida
$this->datagrid->enableSearch($input_search, 'cidade_nome, cidade_ibge');
// creates the page navigation
$this->pageNavigation = new TPageNavigation;
$this->pageNavigation->enableCounters();
$this->pageNavigation->setAction(new TAction(array($this, 'onReload')));
$this->pageNavigation->setWidth($this->datagrid->getWidth());
$panel = new TPanelGroup;
$panel->add($this->datagrid);
$panel->addHeaderWidget($input_search);
$panel->getBody()->class .= ' table-responsive';
Se estiver tentando utilizar numa grid com paginação, não vai rolar.
Livor versão 10, capítulo 4.6.10 Datagrid com busca rápida:
Porém, em alguns casos específicos nos quais exibimos todos os registros disponíveis
em tela, é útil podermos realizar uma busca em tela (somente dos registros visíveis). Este
exemplo demonstra como criar um campo de busca para localizarmos no conteúdo da
datagrid visível em tela.
Ou seja, só funciona quanto a lista (datagrid) contém todos os registros que você deseja filtrar....
Se precisar buscar numa lista no BD, utilize a onSearch + onReload ou outra forma que for melhor para o seu caso.....
Olá Marcelo,
Esse meu exemplo possui a paginação, mas tb tinha retirado ela, mas mesmo assim ele não funcionou, por isso achei estranho.
atc
Valdiney
Valdiney
Tenho um exemplo de um tabela pequena implementado e funciona bem.
Dá um revisada no código em especial no nome dos atributos.
Eles devem ser exatamente iguais aos que estão na datagrid.
Ok, Marcelo
se puder mandar no meu email...segue abaixo.
sistemas.vlp@gmail.com
obrigado!
Valdiney
Depois de quebrar a cabeça o dia inteiro hoje, acabei descobrindo um bug nessa funcionalidade. Caso a ultima coluna da grid contenha apenas valores null toda a pesquisa para de funcionar... nao consegui descobrir porque. Descobri isso substituindo todos os valores null ou vazios por um valor qualquer, assim a busca passou a funcionar como no exemplo. Para funcionar basta que a ultima coluna tenha algum valor em alguma linha.
Olá pessoal!
Em um projeto que estou desenvolvendo observei também funcionamento errático, como por exemplo, quando em uma coluna de data eu uso a função TDate::convertToMask($value, 'yyyy-mm-dd', 'dd/mm/yyyy'); para formatar a data a busca rápida não funciona naquela coluna, quando eu removo a formatação e a data retorna com o formato do banco, funciona normal.
Para efeito de testes, fiz umas alterações na classe DatagridSearchView do Tutor e também observei um bug na busca rápida, ela não retorna 1/24, 1/25, 1/26 ou 1/27, no entanto 35/20, 36/20, 37/20, 38/20 retorna sem problema, o detalhe é que todas as informações estão na mesma coluna "name".
Alguém pode explica o motivo deste comportamento? Isso é um bug mesmo? Ou estou fazendo algo de errado?
Grato.
Segue o código de exemplo: