Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Tfieldlist - problema de carga Boa noite pessoal... Para variar sou mais um novato no framework, estou usaando o fieldlist para edição de tabelas, consultei o tutor e não consegui carregar dados do banco, o vetor recebe os dados e não transfere para o fieldlist segue o programa completo, se alguém pude me ajudar fico muito grato, ...
AT
Tfieldlist - problema de carga  
Boa noite pessoal...

Para variar sou mais um novato no framework, estou usaando o fieldlist para edição de tabelas, consultei o tutor e não consegui carregar dados do banco, o vetor recebe os dados e não transfere para o fieldlist segue o programa completo, se alguém pude me ajudar fico muito grato,

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


AT

 
  1. <?php
  2. /**
  3. * EletronicosForm Master/Detail
  4. * @author <Antonio Augusto Tavares>
  5. */
  6. class EletronicosForm extends TPage
  7. {
  8. protected $form; // form
  9. protected $detail_row;
  10. protected $fieldlist;
  11. private static $database = 'setcis';
  12. private static $activeRecord = 'eletronicos';
  13. private static $primaryKey = 'id';
  14. private static $formName = 'form_eletronicos';
  15. /**
  16. * Class constructor
  17. * Creates the page and the registration form
  18. */
  19. function __construct($param)
  20. {
  21. parent::__construct($param);
  22. // creates the form
  23. $this->form = new TForm('my_form');
  24. $this->fieldlist = new TFieldList;
  25. $this->fieldlist->name = 'my_field_list';
  26. $this->fieldlist->width = '100%';
  27. $this->fieldlist->enableSorting();
  28. $this->form->add($this->fieldlist);
  29. $id = new TEntry('list_id[]');
  30. $descricao = new TEntry('list_descricao[]');
  31. $reduzido = new TEntry('list_reduzido[]');
  32. $id->setSize('100%');
  33. $descricao->setSize('100%');
  34. $reduzido->setSize('100%');
  35. $this->fieldlist->addField( '<b>Id</b>', $id);
  36. $this->fieldlist->addField( '<b>Descrição</b>', $descricao);
  37. $this->fieldlist->addField( '<b>Reduzido</b>', $reduzido);
  38. $this->form->addField($id);
  39. $this->form->addField($descricao);
  40. $this->form->addField($reduzido);
  41. // create an action button (save)
  42. $save = TButton::create('save', [$this, 'onSave'], 'Save', 'fa:save blue');
  43. $fill = TButton::create('fill', [$this, 'onFill'], 'Fill', 'fa:pencil green');
  44. $this->form->addField($save);
  45. $this->form->addField($fill);
  46. $panel = new TPanelGroup('Eletrônicos');
  47. $panel->add($this->form);
  48. $panel->addFooter(THBox::pack($save, $fill));
  49. // create the page container
  50. $container = new TVBox;
  51. $container->style = 'width: 100%';
  52. //$container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  53. $container->add($panel);
  54. parent::add($container);
  55. }
  56. /**
  57. * Clear form
  58. */
  59. public function onClear($param)
  60. {
  61. TFieldList::clear('my_field_list');
  62. TFieldList::addRows('my_field_list', 12);
  63. }
  64. /**
  65. * Fill data
  66. */
  67. public function onfill( $param )
  68. {
  69. try
  70. {
  71. TTransaction::open('setcis'); // open transaction
  72. $conn = TTransaction::get(); // get PDO connection
  73. // run query
  74. $result = $conn->query('SELECT id, descricao, reduzido from eletronicos order by id');
  75. // show results
  76. $data = array();
  77. if ($result)
  78. {
  79. $this->fieldlist->addHeader();
  80. foreach($result as $row )
  81. {
  82. //print $row['id'] . '-';
  83. //print $row['descricao'] . "<br>\n";
  84. $data['id'] = $row['id'];
  85. $data['descricao'] = $row['descricao'];
  86. $data['reduzido'] = $row['reduzido'];
  87. var_dump($data);
  88. $this->fieldlist->addDetail($data);
  89. }
  90. $this->fieldlist->addCloneAction();
  91. }
  92. TForm::sendData('my_form', $data);
  93. //$this->form->setData($Data); // fill the form
  94. // TForm::sendData('form_eletronicos', $Data);
  95. TTransaction::close(); // close the transaction
  96. }
  97. catch (Exception $e) // in case of exception
  98. {
  99. new TMessage('error', $e->getMessage()); // shows the exception error message
  100. TTransaction::rollback(); // undo all pending operations
  101. }
  102. }
  103. /**
  104. * Save the Eletronicos
  105. */
  106. public static function onSave($param)
  107. {
  108. try
  109. {
  110. TTransaction::open('setcis');
  111. if( !empty($param['list_id']) AND is_array($param['list_id']) )
  112. {
  113. foreach( $param['list_id'] as $row => $id)
  114. {
  115. if (!empty($id))
  116. {
  117. $detail = new Eletronicos;
  118. $detail->id = $param['list_id'][$row];
  119. $detail->descricao = $param['list_descricao'][$row];
  120. $detail->reduzido = $param['list_reduzido'][$row];
  121. $detail->store();
  122. }
  123. }
  124. }
  125. TTransaction::close(); // close the transaction
  126. new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
  127. }
  128. catch (Exception $e) // in case of exception
  129. {
  130. new TMessage('error', $e->getMessage());
  131. TTransaction::rollback();
  132. }
  133. }
  134. }
  135. </Antonio>