> ## Documentation Index
> Fetch the complete documentation index at: https://docs-fw.madbuilder.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# TDBArrowStep

> O `TDBArrowStep` é um componente que estende a classe `TArrowStep` e permite a criação de etapas em forma de setas que são carregadas a partir de uma base de dados.

Derivado da classe `TArrowStep`, métodos herdados não sobrescritos podem também ser utililzados por objetos `TDBArrowStep`. Acesse a [documentação do componente/classe-pai](https://madbuilder.mintlify.app/selecao-de-dados-fixos/tarrowstep) para conhecê-los.

*Obs.: todos os métodos presentes nesta documentação utilizarão como base uma tabela chamada "progresso". Esta tabela foi criada em um modelo de dados chamado "docs" e possui quatro colunas: id, etapa, status e cor.*

## \_\_construct

Construtor da classe `TDBArrowStep`.

**Parâmetros:**
<ResponseField name="$name" type="mixed" required>Nome do widget.</ResponseField>
<ResponseField name="$database" type="mixed" required>Nome da base de dados.</ResponseField>
<ResponseField name="$model" type="mixed" required>Nome da classe do modelo.</ResponseField>
<ResponseField name="$key" type="mixed" required>Campo da tabela a ser usado como chave no componente.</ResponseField>
<ResponseField name="$value" type="mixed" required>Campo da tabela a ser listado no componente.</ResponseField>
<ResponseField name="$ordercolumn" type="mixed" default="NULL">(Opcional) Coluna para ordenar os campos.</ResponseField>
<ResponseField name="$criteria" type="mixed" default="NULL">(Opcional) Critério (`TCriteria`) para filtrar o modelo.</ResponseField>

**Exemplo de código (sem critério):**

```php theme={null}
$etapasProgresso = new TDBArrowStep('etapasProduto', 'docs', 'Progresso', 'id', '{etapa}', 'id asc');
$etapasProgresso->setSize(500, 55);
```

**Exemplo de código (com critério):**

```php theme={null}
$criterio = new TCriteria();
$criterio->add(new TFilter('status', '=', 'Concluído')); // Filtrar por itens da tabela cujo status seja "Concluído"

$etapasProgresso = new TDBArrowStep('etapasProduto', 'docs', 'Progresso', 'id', '{etapa}', 'id asc', $criterio);
$etapasProgresso->setSize(500, 55);
```

<br />

## setColorColumn

Define a coluna que determinará a cor dos itens.

**Parâmetros:**
<ResponseField name="$colorcolumn" type="mixed" required>Coluna que determinará a cor.</ResponseField>

**Exemplo de código:**

```php theme={null}
$etapasProgresso = new TDBArrowStep('etapasProduto', 'docs', 'Progresso', 'id', '{etapa}', 'id asc');
$etapasProgresso->setSize(500, 55);
$etapasProgresso->setColorColumn('cor'); // A coluna "cor" armazena códigos de cor hexadecimais (ex.: #eb3434)
```
