Upper Case no Campo de Busca em um TDBSeekButton Estou usando o postgresql. Neste caso, os campos são case-sensitive. Na janela auxiliar de busca de um TDBSeekButton, tenho alguma opção de colocar o campo de procura e do BD como lower ou upper?...
JJ
Upper Case no Campo de Busca em um TDBSeekButton  
Fechado
Estou usando o postgresql. Neste caso, os campos são case-sensitive. Na janela auxiliar de busca de um TDBSeekButton, tenho alguma opção de colocar o campo de procura e do BD como lower ou upper?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


JJ

Alterei o Core do Adianti
/lib/adianti/base/TStandardSeek.php

Método onSearch()

if (isset($data-> display_field) AND ($data-> display_field))
{
// creates a filter using the form content
$display_field = TSession::getValue('standard_seek_display_field');
$display_field = 'UPPER(' . $display_field . ')';
$upper_data = strtoupper($data->display_field);
$filter = new TFilter($display_field, 'like', "%{$upper_data}%");

// store the filter in section
TSession::setValue('tstandardseek_filter', $filter);
TSession::setValue('tstandardseek_display_value', $data-> display_field);
}

Funcionou. Apesar de comprometer possíveis atualizações do Framework.
Caso alguém saiba uma solução sem ter que alterar o Framework. Por favor, informe.
IF

José, dê uma olhada nesse post, talvez possa te ajudar.

www.adianti.com.br/forum/pt/view_1000?mascara-em-maiusculo-uppercase
JC

Saudações José Vitorino, neste caso não precisa de upper é só substituir like por ilike, mas procure não mexer na estoura faça uma se em manual e use este operador.
JC

Digo mexer na estrutura
CV

Olá,
Não recomendo mexer na estrutura, mas até que um strtoupper cai bem:

/lib/adianti/base/TStandardSeek.php
// $filter = new TFilter($display_field, 'like', "%{$data-> display_field}%"); $filter = new TFilter(strtoupper($display_field), 'like', strtoupper("%{$data-> display_field}%"));


Até!