menu
Fórum Adianti
menu Menu
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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


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