Skip to main content
Derivado da classe TCombo, métodos herdados não sobrescritos podem também ser utililzados por objetos TDBCombo. Acesse a documentação do componente/classe-pai para conhecê-los. Obs.: todos os métodos presentes nesta documentação utilizarão como base uma tabela chamada “produto”. Esta tabela foi criada em um modelo de dados chamado “docs” e possui três colunas: id, nome, preco.

__construct

Construtor da classe TDBCombo. Parâmetros:
$name
mixed
required
Nome do widget.
$database
mixed
required
Nome do banco de dados.
$model
mixed
required
Nome da classe do modelo.
$key
mixed
required
Campo da tabela usado como chave no combo.
$value
mixed
required
Campo da tabela que será listado no combo.
$ordercolumn
mixed
default:"NULL"
(Opcional) Coluna para ordenar os campos.
$criteria
TCriteria
default:"NULL"
(Opcional) Objeto TCriteria para filtrar o modelo.
Exemplo de código:
$comboProduto = new TDBCombo('comboProduto', 'docs', 'Produto', 'id', '{nome}, R$ {preco}');
$comboProduto->enableSearch();
Exemplo de código (com parâmetros opcionais):
$criterio = new TCriteria();
$criterio->add(new TFilter('preco', '<', 5)); // Filtrar por itens da tabela cujo preço seja menor que 5

$comboProduto = new TDBCombo('comboProduto', 'docs', 'Produto', 'id', '{nome}, R$ {preco}', 'id asc', $criterio);
$comboProduto->setSize(180);
$comboProduto->enableSearch();

reloadFromModel

(Método estático) Recarrega o combo a partir dos dados do modelo. Parâmetros:
$formname
mixed
required
Nome do formulário.
$field
mixed
required
Nome do campo.
$database
mixed
required
Nome do banco de dados.
$model
mixed
required
Nome da classe do modelo.
$key
mixed
required
Campo da tabela usado como chave no combo.
$value
mixed
required
Campo da tabela que será listado no combo.
$ordercolumn
mixed
default:"NULL"
(Opcional) Coluna para ordenar os campos.
$criteria
TCriteria
default:"NULL"
(Opcional) Critérios para filtrar o modelo.
$startEmpty
mixed
default:"FALSE"
(Opcional) Se o combo terá um primeiro item vazio.
$fire_events
mixed
default:"TRUE"
(Opcional) Se a ação de mudança será disparada.
Exemplo de código:
$comboProduto = new TDBCombo('comboProduto', 'docs', 'Produto', 'id', '{nome}', 'id asc');
$comboProduto->setSize(180);
$comboProduto->enableSearch();

$btnRecarregar = new TButton('btnRecarregar');
$btnRecarregar->addStyleClass('btn-default');
$btnRecarregar->setImage('far:circle #000000');
$btnRecarregar->setAction(new TAction([$this, 'recarregarDados']), 'Recarregar Dados');
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)
{
    TDBCombo::reloadFromModel('nomeForm', 'comboProduto', 'docs', 'Produto', 'id', '{nome}, R$ {preco}', 'preco asc', null, true, true);
}