menu
Fórum Adianti
menu Menu
Tamanho do TDBUniqueSearch num head do TPanelGroup Estou tentando utilizar um TDBUniqueSearch no header de um TPanelGroup, estou inserindo através do addHeaderWidget, mas fica desse tamanho, como um botão, conforme imagem em anexo. Existe a possibilidade de aumentar, é para que se possa selecionar uma empresa para atualizar o gráfico. ...
DA
Tamanho do TDBUniqueSearch num head do TPanelGroup  
Estou tentando utilizar um TDBUniqueSearch no header de um TPanelGroup, estou inserindo através do addHeaderWidget, mas fica desse tamanho, como um botão, conforme imagem em anexo.

Existe a possibilidade de aumentar, é para que se possa selecionar uma empresa para atualizar o gráfico.

  1. <?php
  2.             $PanelInadimp = new TPanelGroup('Inadimplência (Valor Original) por Mês/Ano');
  3.             $PanelInadimp->add($html);
  4.             $filter = new TCriteria;
  5.             $filter->add(new TFilter('id''IN''(SELECT system_unit_id FROM system_user_unit  where system_user_id = '.TSession::getValue('userid').')'));
  6.         
  7.             $empresa_id = new TDBUniqueSearch('empresa_id','cobrebem','Empresas','id','descricao','descricao',$filter);
  8.             $empresa_id->setSize('100%');
  9.             $empresa_id->setMinLength(0);
  10.             $PanelInadimp->addHeaderWidget$empresa_id );
  11. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


NR

O TPanelGroup é filho da TElement, assim é possível navegar pelos seus filhos. Ex:
  1. <?php
  2. $PanelInadimp->getHeader()->get(1)->style .= ';width:50%';
  3. ?>

O widget que você criou é adicionado no header do panel, e dentro do header temos 2 filhos(uma div para o título do panel e outra div para o seu dropdown). Ao usar get(1), estou pegando a segunda div e modificando seu estilo.
DA

Como sempre sua dica funcionou Nataniel, porém tentei criar um action para atualizar o gráfico na mudança de empresa, mas apresenta erros, coloquei assim:

  1. <?php
  2.             $change_action = new TAction(array(__CLASS__'onChangeAction'));
  3.             $empresa_id->setChangeAction($change_action);
  4. ?>


Apresentou a exceção : Você deve passar o AdiantiWidgetWrapperTDBMultiSearch (empresa_id) como parâmetro para TForm::setFields()

File: libadiantiwidgetwrapperTDBUniqueSearch.php : 128
AdiantiWidgetWrapperTDBMultiSearch->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetWrapperTDBUniqueSearch->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadiantiwidgetbaseTElement.php : 449
AdiantiWidgetBaseTElement->show()
File: libadianticontrolTPage.php : 230
AdiantiWidgetBaseTElement->show()
File: libadianticoreAdiantiCoreApplication.php : 82
AdiantiControlTPage->show(CobrancaDashboard)
File: engine.php : 27
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 64
TApplication::run()

Como não estou criando um form, não será possivel utilizar um TAction? Ou estou fazendo errado? A título de aprendizagem como estou ainda me familiarizando com o Adianti.

Fiz outro fonte dessa vez criando um form e utilizando o campo da empresa nele e funciona normalmente.

NR

Faça o seguinte:
  1. <?php
  2. $form = new TForm('teste');
  3. $form->add($empresa_id);
  4. $form->addField($empresa_id);
  5. $PanelInadimp->addHeaderWidget$form );
  6. ?>
DA

Perfeito Nataniel, funcionou direitinho, mais uma dica para o caderninho. Quem sabe comece a ter conhecimento no Adianti, como tenho no Delphi, e adote-o de uma vez.

Grato pela presteza e atenção.