TDBUniqueSearch não funciona dentro de um TImputDialog. Olá pessoal, bom dia! Estou tentando usar o TDBUniqueSearch em um TImputDialog porém o mesmo não funciona. Se eu coloco o mesmo código em um form volta a funcionar. Alguém já passou por isso?...
GO
TDBUniqueSearch não funciona dentro de um TImputDialog.  
Olá pessoal, bom dia!
Estou tentando usar o TDBUniqueSearch em um TImputDialog porém o mesmo não funciona. Se eu coloco o mesmo código em um form volta a funcionar.

Alguém já passou por isso?

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


NR

Usando o exemplo abaixo:
https://adianti.com.br/framework_files/tutor/index.php?class=DialogInputView
Adicionei o TDBUniqueSearch e funcionou sem problemas. Faça o teste aí:
 
  1. <?php
  2. $search = new TDBUniqueSearch('city_id','samples','City','id','name','name');
  3. $form->addFields( [new TLabel('City')], [$search]);
  4. ?>
GO

Olá Nataniel!
No meu caso o código está como abaixo mas o componente não carrega os dados:

 
  1. <?php
  2. public static function onAddItem($param){
  3. $form = new BootstrapFormBuilder('input_form');
  4. // detail fields
  5. $detail_uniqid = new THidden('detail_uniqid');
  6. $detail_id = new THidden('detail_id');
  7. $criteria = new TCriteria;
  8. $criteria->add(new TFilter('product_status_id','=',1));
  9. $detail_search_product_id = new TDBUniqueSearch('detail_search_product_id', 'main', 'Product', 'id', 'internal_code, title','title', $criteria);
  10. $detail_search_product_id->setMinLength('1');
  11. $detail_search_product_id->setId('detail_search_product_id');
  12. $detail_search_product_id->setMask('{internal_code} - {title}');
  13. $detail_search_product_id->setSize('100%');
  14. $detail_product_id = new THidden('detail_product_id');
  15. $detail_product_internal_code = new THidden('detail_product_internal_code');
  16. $detail_product_internal_code->setSize('100%');
  17. $detail_price_cost = new TEntry('detail_price_cost');
  18. $detail_price_cost->setSize('100%');
  19. $detail_price_cost->setEditable(FALSE);
  20. $detail_price_cost->setNumericMask(2,'.','');
  21. $detail_discount = new TEntry('detail_discount');
  22. $detail_discount->setSize('100%');
  23. $detail_discount->setNumericMask(2,'.','');
  24. $detail_discount->onBlur = 'calculate_discount_item()';
  25. $detail_addition = new TEntry('detail_addition');
  26. $detail_addition->setSize('100%');
  27. $detail_addition->setNumericMask(2,'.','');
  28. $detail_addition->onBlur = 'calculate_addition_item()';
  29. $detail_final_price = new TEntry('detail_final_price');
  30. $detail_final_price->setSize('100%');
  31. $detail_final_price->onBlur = 'calculate_final_price()';
  32. $detail_final_price->setNumericMask(2,'.','');
  33. $detail_amount = new TEntry('detail_amount');
  34. $detail_amount->onBlur = 'calculate_total_item()';
  35. $detail_amount->setMask('999');
  36. $detail_amount->setSize('100%');
  37. $detail_total = new TEntry('detail_total');
  38. $detail_total->setEditable(FALSE);
  39. $detail_total->setSize('100%');
  40. $detail_total->setNumericMask(2,'.','');
  41. $detail_type = new TRadioGroup('detail_type');
  42. $detail_type->setBooleanMode(TRUE);
  43. $options = [0=>'Entering', 1=>'Going out'];
  44. $detail_type->addItems($options);
  45. $detail_type->setValue(1);
  46. $detail_type->setChangeAction(new TAction([__CLASS__, 'onDetailTypeChange']));
  47. $detail_returned = new THidden('detail_returned');
  48. $form->addFields( [$detail_uniqid] );
  49. $form->addFields( [$detail_id] );
  50. $form->addFields( [new TLabel('Product')],[$detail_search_product_id]);
  51. $form->addFields( [new TLabel('Cost price')], [$detail_price_cost], [new TLabel('Discount')], [$detail_discount], [new TLabel('Addition')], [$detail_addition] );
  52. $form->addFields( [new TLabel('Final price')], [$detail_final_price], [new TLabel('Amount')], [$detail_amount], [new TLabel('Total')], [$detail_total] );
  53. //$form->addFields( [],[$detail_type]);
  54. $form->addFields( [$detail_returned] );
  55. $form->addFields( [$detail_product_id]);
  56. $form->addFields( [$detail_product_internal_code]);
  57. $form->addAction('Save', new TAction([__CLASS__, 'AddProduct']), 'fa:save green');
  58. $form->addAction('Cancel', new TAction([__CLASS__, 'onCancelAddProduct']), 'far:check-circle blue');
  59. new TInputDialog('Product inclusion', $form);
  60. }
  61. ?>
GO

Já se eu colocar o mesmo código dentro da página principal funciona certinho.
GO

Percebi que se eu usar Janelas sob demanda também não funciona.
Como abaixo:

 
  1. <?php
  2. $window = TWindow::create('Item inclusion', 0.5, null);
  3. $window->add($form); // Mesmo form acima
  4. $window->show();
  5. ?>


Também não consigo colocar um TBCombo para pesquisar como abaixo:

 
  1. <?php
  2. TBComboExemplo->enableSearch(TRUE);
  3. ?>
GO

Obrigado pela atenção!

Descobri que eu repetia o mesmo id como na linha abaixo.

 
  1. <?php
  2. $detail_search_product_id->setId('detail_search_product_id');
  3. ?>