Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
grid em consulta criada pelo assistente nao deleta Boa noite, eu sou iniciante no mundo web e estou sofrendo com meus primeiros testes com o adianti studio, fiz um cadastro de cidades usando o assistente e uma cosulta completa tbm usando o assistente, o cadastro funciona legal e a consulta tbm lista todos os dados porem tem um detalhe o botao criado dentro do grid para deletar nao deleta os registros, ele da a menssagem que foi deletado porem o m...
FP
grid em consulta criada pelo assistente nao deleta  
Fechado
Boa noite, eu sou iniciante no mundo web e estou sofrendo com meus primeiros testes com o adianti studio,
fiz um cadastro de cidades usando o assistente e uma cosulta completa tbm usando o assistente, o cadastro funciona legal e a consulta tbm lista todos os dados porem tem um detalhe o botao criado dentro do grid para deletar nao deleta os registros, ele da a menssagem que foi deletado porem o mesmo nao acontece alguem pode me ajudar, vai em anexo o projeto pra alguem q estiver disposto a me ajudar agradeco muito,
dentro da pasta do projeto tem um script sql com o meu banco de dados desde ja agradeco toda ajuda possivel

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 (4)


FC

 
  1. <?php
  2. function Delete($param)
  3. {
  4. try
  5. {
  6. // get the parameter $key
  7. $key=$param['key'];
  8. // open a transaction with database 'entech_imobiliarias'
  9. TTransaction::open('entech_imobiliarias');
  10. $repository = new TRepository('Cad_cidades');
  11. // instantiates object Cad_cidades
  12. $object = new Cad_cidades($key);
  13. // deletes the object from the database
  14. $object->delete();
  15. // close the transaction
  16. TTransaction::close();
  17. // reload the listing
  18. $this->onReload( $param );
  19. // shows the success message
  20. new TMessage('info', TAdiantiCoreTranslator::translate('Record deleted'));
  21. }
  22. catch (Exception $e) // in case of exception
  23. {
  24. // shows the exception error message
  25. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  26. // undo all pending operations
  27. TTransaction::rollback();
  28. }
  29. }
  30. ?>


Faltou o dizer qual é o Model !!!
FC

faça a correção nome da variavel que coloquei
errado
$repository = new TRepository('Cad_cidades');

correto
$object = new TRepository('Cad_cidades');

PD

Fernando,

Para excluir baseado no ID, não é necessário usar a TRepository.
Você também pode ligar os LOGS do framework, veja como:
www.adianti.com.br/doc-framework-Persistence-Objects-RegisterLog

Além disso, procure configurar o php.ini para que exiba os erros (durante o desenvolvimento):
display_errors = On
error_reporting = E_ALL

Lembre-se de alterar a configuração quando o sistema entrar em produção:
display_errors = Off
log_errors = On
error_log = /tmp/php5.log

abs,
Pablo
AM

Arquivo: FilmeList
===============
 
  1. <?php
  2. class FilmeList extends TPage
  3. {
  4. private $datagrid;
  5. function __construct()
  6. {
  7. parent::__construct();
  8. $vbox = new TVBox;
  9. $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
  10. $vbox->add($this->form);
  11. parent::add($vbox);
  12. $this->datagrid = new TQuickGrid;
  13. $this->datagrid->setHeight(300);
  14. $this->datagrid->makeScrollable();
  15. $this->datagrid->addQuickColumn('ID', 'id', 'right', 60);
  16. $this->datagrid->addQuickColumn('Título', 'titulo', 'left', 200);
  17. $this->datagrid->addQuickColumn('Diretor', 'diretor', 'left', 100);
  18. $this->datagrid->addQuickColumn('Suporte', 'id_suporte', 'left', 100);
  19. $this->datagrid->addQuickColumn('Gênero', 'id_genero', 'left', 100);
  20. $this->datagrid->addQuickColumn('Data de Lançamento', 'dt_lcto', 'center', 100);
  21. $this->datagrid->addQuickColumn('Duração', 'duracao', 'left', 100);
  22. $edit = new TDataGridAction(array('FilmeForm', 'onEdit'));
  23. $this->datagrid->addQuickAction('Editar', $edit, 'id', 'ico_find.png');
  24. $delete = new TDataGridAction(array('FilmeList', 'onDelete'));
  25. $this->datagrid->addQuickAction('Excluir', $delete, 'id', 'ico_delete.png');
  26. $this->datagrid->createModel();
  27. parent::add($this->datagrid);
  28. }
  29. function show()
  30. {
  31. $this->onReload();
  32. parent::show();
  33. }
  34. function onDelete($param)
  35. {
  36. try
  37. {
  38. $key=$param['key'];
  39. TTransaction::open('teste');
  40. $object = new Filme($key);
  41. $object->delete();
  42. TTransaction::close();
  43. $this->onReload( $param );
  44. }
  45. catch (Exception $e)
  46. {
  47. new TMessage('error', "O registro $key não pode ser excluido.");
  48. TTransaction::rollback();
  49. }
  50. }
  51. function onReload($param = NULL)
  52. {
  53. try
  54. {
  55. TTransaction::open('teste');
  56. $repository = new TRepository('Filme');
  57. $limit = 10;
  58. $criteria = new TCriteria;
  59. $criteria->setProperties($param);
  60. $criteria->setProperty('limit', $limit);
  61. $objects = $repository->load($criteria);
  62. $this->datagrid->clear();
  63. if ($objects)
  64. {
  65. foreach ($objects as $object)
  66. {
  67. $this->datagrid->addItem($object);
  68. }
  69. }
  70. $criteria->resetProperties();
  71. $count= $repository->count($criteria);
  72. TTransaction::close();
  73. $this->loaded = true;
  74. }
  75. catch (Exception $e)
  76. {
  77. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  78. TTransaction::rollback();
  79. }
  80. }
  81. }
  82. ?>