AB
Problema com SetMask
Fechado
Bom Dia, criei um campo no form usando TDate,tentei aplicar o setMask('dd/mm/yyyy'), quando clico na table par que ele popule o form, a data vem ainda no formato do banco de dados, ou seja, 'yyyy-mm-dd', o setMask só funciona se eu altero o valor do campo data, tem algum evento que eu deva colocar no codigo paa que ele mascare certo o campo data?, no datagrid vi que o Transfomer, que deu certo 100%, só no form que não, se alguem uder ajudar agradeço.
Bom dia Agostinho. No onEdit do seu form vc tem que transformar a data para o formato br.
Bom Dia, obrigado pelo retorno Ivan.
Só que dai tenho que sobrescrever os métodos onEdit e onSave, correto?
Bom Dia, obrigado pelo retorno Ivan.
Só que dai tenho que sobrescrever os métodos onEdit e onSave, correto?
Bom dia,
E quando for pesquisar a informação no banco através da data ela deverá ser convertida novamente.
To sobrescrevendo o onSearch, usando isso, mas ele atualiza na tela e não filtra com base no que é digitado, segue abaixo o codigo que utilizei
<php
public function onSearch()
{
// get the search form data
$data = $this->form->getData();
$data->dtaMov400 = TDate::date2us($data->dtaMov400);
if ($this->formFilters)
{
foreach ($this->formFilters as $filterKey => $formFilter)
{
$operator = isset($this->operators[$filterKey]) ? $this->operators[$filterKey] : 'like';
$filterField = isset($this->filterFields[$filterKey]) ? $this->filterFields[$filterKey] : $formFilter;
// check if the user has filled the form
if (isset($data->{$formFilter}) AND $data->{$formFilter})
{
// creates a filter using what the user has typed
if (stristr($operator, 'like'))
{
$filter = new TFilter($filterField, $operator, "%{$data->{$formFilter}}%");
}else{
$filter = new TFilter($filterField, $operator, $data->{$formFilter});
}
// stores the filter in the session
TSession::setValue($this->activeRecord.'_filter', $filter); // BC compatibility
TSession::setValue($this->activeRecord.'_filter_'.$formFilter, $filter);
TSession::setValue($this->activeRecord.'_'.$formFilter, $data->{$formFilter});
}else{
TSession::setValue($this->activeRecord.'_filter', NULL); // BC compatibility
TSession::setValue($this->activeRecord.'_filter_'.$formFilter, NULL);
TSession::setValue($this->activeRecord.'_'.$formFilter, '');
}
}
}
TSession::setValue($this->activeRecord.'_filter_data', $data);
$data->dtaMov400 = TDate::date2br($data->dtaMov400);
// fill the form with data again
$this->form->setData($data);
$param=array();
$param['offset'] =0;
$param['first_page']=1;
$this->onReload($param);
}
?>
Consegui resolver o problema, obrigado Ivan pela força.