menu
Fórum Adianti
menu Menu
TMultiFieldPanel - 1.1 [Descrição] TMultiFieldPanel - 1.1 para versão 1.0.1 do Framework Adianti O componente tem por objetivo o controle de posicionamento na tela de todos os campos necessários. Sugiro seu uso para quantidades acima de 3 campos mas pode ser usada com qualquer quantidade. [Nova Funcionalidade] A TMultiField original não possibilita barra de rolamento quando se i...
ES
TMultiFieldPanel - 1.1  
Fechado
[Descrição]
TMultiFieldPanel - 1.1 para versão 1.0.1 do Framework Adianti
O componente tem por objetivo o controle de posicionamento na tela de todos os campos necessários. Sugiro seu uso para quantidades acima de 3 campos mas pode ser usada com qualquer quantidade.

[Nova Funcionalidade]
A TMultiField original não possibilita barra de rolamento quando se insere muitos registros à mesma e os registros estouram o limite, por isso foi acrescentado à essa versão essa possibilidade. Quando a quantidade de registros chegar ao limite da grade um barra de rolamento surgirá automaticamente.


[Requisitos]
1- -Adianti Framework 1.0.1

[Instalação]
Descompacte o conteúdo de TMultiFieldPanel.class.zip no diretório de sua aplicação:
cd diretório-da-aplicação
unzip TMultiFieldPanel.class.zip

ou descompacte em qualquer pasta e depois copie o arquivo TMultiFieldPanel.class.php para a pasta app/lib/widget

[Utilização]
  1. <?php 
  2. $Perfil_itens                   = new TMultiFieldPanel('itens_list_perfil');
  3. /** ############# itens para o tmultifield - INÍCIO ######################## **/
  4.         $item_id_menu = new TComboCombined('id_menu''titulo');
  5.         //$item_p_add = new TCombo('p_add');
  6.         //$item_p_del = new TCombo('p_del');
  7.         //$item_p_edit = new TCombo('p_edit');
  8.         //$item_open_login = new TCombo('open_login');
  9.         
  10.         //Opções
  11.         $Perfil_itens->setHeightPanel(310);
  12.         $Perfil_itens->setWidthPanel(600);
  13.         $Perfil_itens->setHeightTM(160);
  14.         $Perfil_itens->setClassPanel('Perfil_itens');
  15.         //seta os botões
  16.         $Perfil_itens->setPosPanelBtxy(20100);
  17.         //Posição da listagem
  18.         $Perfil_itens->setPosPanelxy(20140);
  19.         
  20.         $item_id_menu->setSize(500);
  21.         $item_id_menu->setTip('Selecione o item de menu que o perfil terá acesso');
  22.         
  23.         /** Carrega as opções para menu **/
  24.         TTransaction::open('changeman');
  25.         $rep = new TRepository('Menu_app');
  26.         $criteria = new TCriteria();
  27.         $p['order'] = 'hierarquia';
  28.         $criteria->setProperties($p);
  29.         $criteria->add(new TFilter('is_link''=''Y') );
  30.         $objects $rep->load($criteria);
  31.         $options = array();
  32.         if ($objects)
  33.         {
  34.             foreach ($objects as $object)
  35.             {
  36.                 $options[$object->id] = $object->titulo.' -> '.$object->str_link;
  37.             }
  38.         }
  39.         $item_id_menu->addItems($options);
  40.         TTransaction::close();
  41.         
  42.         $items = array();
  43.         $items['Y']='Sim';
  44.         $items['N']='Não';
  45.         
  46.         $item_p_add = new TComboCombined('p_add','desc_add');
  47.         $item_p_del = new TComboCombined('p_del','desc_del');
  48.         $item_p_edit = new TComboCombined('p_edit','desc_edit');
  49.         $item_open_login = new TComboCombined('open_login','desc_open');
  50.         
  51.         $item_p_add->addItems($items);
  52.         //$item_p_add->setValue('Y');
  53.         $item_p_add->setSize(50);
  54.         $item_p_del->addItems($items);
  55.         //$item_p_del->setValue('Y');
  56.         $item_p_del->setSize(50);
  57.         $item_p_edit->addItems($items);
  58.         //$item_p_edit->setValue('Y');
  59.         $item_p_edit->setSize(50);
  60.         $item_open_login->addItems($items);
  61.         //$item_open_login->setValue('N');
  62.         $item_open_login->setSize(50);
  63.         
  64.         /** Adiciona os campos no multifield **/
  65.         $Perfil_itens->addFieldPanel('id_menu''Menu',$item_id_menu350,5,835,5);
  66.         $Perfil_itens->addFieldPanel('p_add''Add'$item_p_add50,10,40,10,60);
  67.         $Perfil_itens->addFieldPanel('p_del''Del'$item_p_del50,120,40,120,60);
  68.         $Perfil_itens->addFieldPanel('p_edit''Edit'$item_p_edit50,230,40,230,60);
  69.         $Perfil_itens->addFieldPanel('open_login''Abrir no Login'$item_open_login50,340,40,340,60);
  70.    /** ############# itens para o tmultifield - FIM ######################## **/
  71. ?>


<a href="adianti.com.br/forum/pt/attach/549/Multifield-antes-e-Depois.png&quo aqui para ver o Antes e Depois</a>

PS.: Será necessário fazer uma pequena modificação na classe TForm original para que o comando sendData não falhe:
alterar o trecho da linha 160 de
  1. <?php if ($field instanceof TMultiField ?>
para
  1. <?php  if ($field instanceof TMultiField || $field instanceof TMultiFieldPanel?>


Atenção: Essa classe só foi testada em aplicação web.

Assim que possível colocarei um exemplo online.
abs.

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


PD

Parabéns Eliezer,

Assim que sobrar um tempinho, vou testar aqui :-)

abraço!
Pablo