CS
Controle de status
Bom dia, pessoal. Estou fazendo um controle de status de mesas. Dando uma olhada nos exemplos do tutor optei por usar RadioGroup com setUseButton.
Meu código inicial:
Gostaria de uma ajuda:
- Esta certa a maneira de chamada na função __construct ou teria que ser na onReload?
- Utilizando o Radio eu consigo colorir cada button com uma cor de acordo com o status (ocupado ou livre)?
- Utilizando o Radio consigo passar uma action (edit ou new) de acordo com o click em cada button separado?
Ou o radio não seria interessante para esta situação e deveria usar outro componente?
[]'s
Stclara.
Meu código inicial:
- <?php
- public function __construct()
- {
- parent::__construct();
-
- // creates the form
- $this->form = new TQuickForm('form_search_OprComanda');
- $this->form->class = 'tform'; // change CSS class
- $this->form = new BootstrapFormWrapper($this->form);
- $this->form->style = 'display: table;width:100%'; // change style
- $this->form->setFormTitle('OprComanda');
-
- // create the form fields
-
- $radio = new TRadioGroup('radio');
- $radio->setLayout('horizontal');
- $radio->setUseButton();
- $radio->setBreakItems(5);
-
- TTransaction::open('sigaw');
-
- $mesas = new TRepository('GerMesa');
- $mesas_obj = $mesas->load();
-
- $items_radio = array();
- foreach($mesas_obj as $mesa)
- {
- $items_radio[$mesa->id] = $mesa->id;
- }
-
- asort($items_radio);
-
- $radio->addItems($items_radio);
-
- foreach ($radio->getLabels() as $key => $label)
- {
- $label->setTip("Mesa $key");
- $label->setSize(40);
- }
-
- $this->form->addQuickField('', $radio, 50 );
- ?>
Gostaria de uma ajuda:
- Esta certa a maneira de chamada na função __construct ou teria que ser na onReload?
- Utilizando o Radio eu consigo colorir cada button com uma cor de acordo com o status (ocupado ou livre)?
- Utilizando o Radio consigo passar uma action (edit ou new) de acordo com o click em cada button separado?
Ou o radio não seria interessante para esta situação e deveria usar outro componente?
[]'s
Stclara.
1 - A função onReload é utilizada mais em páginas com datagrid. Pode manter no construtor.
2 - Se alterar a cor do botão acho que não vai ficar visível qual está selecionado. Mas é possível:
3 - Você vai ter que usar a função setExitAction e tratar o valor selecionado.
4 - Dependendo da interface que você deseja montar talvez seja interessante criar um html específico e usar com o THtmlRenderer. Também existe a opção de usar botões, veja o exemplo:
adianti.com.br/framework_files/tutor/index.php?class=FormButtonStyle
Ainda, se continuar utilizando o radio, considere utilizar o TDBRadioGroup para não ter que preencher as opções manualmente.
Obrigado, Nataniel. Mas como adicionar os Buttons de forma dinamica de acordo com o resultado obtido de $mesas = new TRepository('GerMesa');?
[]'s
A classe TQuickForm possui a função addRow, que retorna um instância de TTableRow. Desse modo você consegue criar linhas e colunas e adcionar o conteúdo que quiser: