Skip to main content
Obs.: todos os métodos presentes nesta documentação utilizarão como base uma tabela chamada “estado”. Esta tabela foi criada em um modelo de dados chamado “docs” e possui quatro colunas: id, nome, sigla e regiao_id, sendo a última uma chave estrangeira para uma tabela chamada “regiao”, esta possuindo as colunas id e nome.

__construct

Construtor da classe BDBTreeView. Parâmetros:
$name
mixed
required
Nome do campo que será utilizado no formulário.
$database
mixed
required
Nome do banco de dados.
$model
mixed
required
Modelo dos dados.
$key
mixed
required
Chave principal dos dados.
$key_value
mixed
required
Valor associado à chave principal.
$groups
mixed
default:"[]"
(Opcional) Grupos de dados.
$ordercolumn
mixed
default:"NULL"
(Opcional) Coluna para ordenação dos dados.
$criteria
TCriteria
default:"NULL"
(Opcional) Critérios para a busca de dados.
Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', '{nome} ({sigla})');
$estadosTreeView->setGroups(['{regiao->id}' => '{regiao->nome}']);
$estadosTreeView->enableCheck();

addGroup

Adiciona um grupo à visualização da árvore. Parâmetros:
$groupKey
mixed
required
Chave do grupo.
$groupValue
mixed
required
Valor do grupo.
Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', '{nome} ({sigla})');
$estadosTreeView->addGroup('norte', 'Região Norte');

setGroups

Define os grupos para a árvore. Parâmetros:
$groups
mixed
required
Array de grupos.
Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', 'name');
$estadosTreeView->setGroups(['brasil' => 'Brasil', 'estados' => 'Estados']);
Obs.: exemplo com grupos baseados em uma coluna de banco de dados presente na seção “__construct()“.

getGroups

Obtém os grupos atuais. Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', 'name');
$grupos = $estadosTreeView->getGroups();

getItemsFromModel

Obtém os itens a partir do modelo definido. Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', 'name');
$itens = $estadosTreeView->getItemsFromModel();

reloadFromModel

(Método estático) Recarrega os itens do modelo para o componente. Parâmetros:
$formname
mixed
required
Nome do formulário.
$name
mixed
required
Nome do componente.
$database
mixed
required
Banco de dados.
$model
mixed
required
Modelo dos dados.
$key
mixed
required
Chave dos dados.
$key_value
mixed
required
Valor da chave.
$groups
array
default:"[]"
(Opcional) Grupos.
$ordercolumn
mixed
default:"NULL"
(Opcional) Coluna de ordenação.
$criteria
TCriteria
default:"NULL"
(Opcional) Critérios para seleção.
$options
array
default:"[]"
(Opcional) Opções adicionais.
Exemplo de código:
$estadosTreeView = new BDBTreeView('estadosTreeView', 'docs', 'Estado', 'id', '{nome}');
$estadosTreeView->setGroups(['{regiao->id}' => '{regiao->nome}']);
$estadosTreeView->enableCheck();
        
$btnRecarregar = new TButton('btnReloadFromModel');
$btnRecarregar->addStyleClass('btn-default');
$btnRecarregar->setImage('far:circle #000000');
$btnRecarregar->setAction(new TAction([$this, 'recarregarDados']), 'Recarregar Itens do Modelo');
Código de exemplo da função a ser chamada, lembrando que essa função precisa ser estática (static function):
public static function recarregarDados($param = null)
{
    $criterio = new TCriteria();
    $criterio->add(new TFilter('regiao', '=', 'Sudeste'));
    BDBTreeView::reloadFromModel('nomeForm', 'estadosTreeView', 'docs', 'Estado', 'id', '{nome} ({sigla})', null, $criterio);
}