PS
TTreeView com dados de tabela
Boa Tarde, Pessoal,
Sou novo no Adianti e estou tentando popular uma TTreeView com dados de uma tabela. Consigo fazer a select no banco normalmente, mas ao colocar os dados na TTreeView, ela insiste em colocar o código que eu gero com um contador.
Segui o exemplo do Tutor e achei pelo exemplo que a última coluna da matriz sempre seria considerado a $key, e portanto, preenchi o ultimo campo antes do = com um contador de itens. Entretanto, ele coloca este item dentro da TTreeView, o que não ocorre no exemplo do Tutor.
O que eu preciso que apareça em arvore é o Organograma da Empresa, onde tenho o Supervisor como cargo Maior, depois as Diretorias, depois os Departamentos e por ultimo os Setores.
Segue em anexo o programa onde estou tentando fazer isto acontecer mas não está funcionando.
Agradeço desde já toda a ajuda.
Sou novo no Adianti e estou tentando popular uma TTreeView com dados de uma tabela. Consigo fazer a select no banco normalmente, mas ao colocar os dados na TTreeView, ela insiste em colocar o código que eu gero com um contador.
Segui o exemplo do Tutor e achei pelo exemplo que a última coluna da matriz sempre seria considerado a $key, e portanto, preenchi o ultimo campo antes do = com um contador de itens. Entretanto, ele coloca este item dentro da TTreeView, o que não ocorre no exemplo do Tutor.
O que eu preciso que apareça em arvore é o Organograma da Empresa, onde tenho o Supervisor como cargo Maior, depois as Diretorias, depois os Departamentos e por ultimo os Setores.
Segue em anexo o programa onde estou tentando fazer isto acontecer mas não está funcionando.
Agradeço desde já toda a ajuda.
- <?php
- /**
- * WelcomeView
- *
- * @version 1.0
- * @package control
- * @author Pedro Isaias Soares
- * @update 2022-01-31 10:00:00
- * @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
- * @license http://www.adianti.com.br/framework-license
- */
- class WelcomeView extends TPage
- {
- private $form;
- /**
- * Class constructor
- * Creates the page
- */
- function __construct()
- {
- parent::__construct();
- // creates the notebook
- $notebook = new BootstrapNotebookWrapper( new TNotebook(400,230) );
- // creates the containers for each notebook page
- $page1 = new TTable;
- $page2 = new TPanel(800,600);
- $page3 = new TTable;
- $page4 = new TTable;
- // adds two pages in the notebook
- $notebook->appendPage('Organograma CIS', $page1);
- $notebook->appendPage('Ramais e e-mails', $page2);
- $notebook->appendPage('Aniversariantes do Mês', $page3);
- $notebook->appendPage('Aniversariantes do Próximo Mês', $page4);
- // open a transaction with database 'permission'
- $source = TTransaction::open('permission');
- // query1 - Select in tb_san_indeta
- $query1 = 'SELECT t1.descricao AS Supervisao, t2.descricao as Diretoria, t3.descricao as Depto, t4.descricao as Setor FROM tb_bas_area AS t1 LEFT JOIN tb_bas_area AS t2 ON t2.parent_id = t1.id LEFT JOIN tb_bas_area AS t3 ON t3.parent_id = t2.id LEFT JOIN tb_bas_area AS t4 ON t4.parent_id = t3.id WHERE t1.id = 1';
- $filters1 = [];
- $rows1 = TDatabase::getData($source, $query1, null, $filters1);
- /*
- Supervisao Diretoria Depto Setor
- Superintendência Diretoria Administrativa Depto de Apoio Administrativo Setor de Almoxarifado e Patrimônio
- Superintendência Diretoria Administrativa Depto de Apoio Administrativo Setor de Controle de Frotas
- Superintendência Diretoria Administrativa Depto de Apoio Administrativo Setor de RH e Segurança do Trabalho
- Superintendência Diretoria Administrativa Depto de Apoio Administrativo Setor de Suporte Administrativo
- Superintendência Diretoria Administrativa Depto Licitações Setor de Contratos
- Superintendência Diretoria Administrativa Depto Licitações Setor de Cotações
- Superintendência Diretoria Administrativa Depto Licitações Setor de Licitação
- Superintendência Diretoria Comercial Depto de Faturamento e Atendimento Setor de Atendimento
- Superintendência Diretoria Comercial Depto de Faturamento e Atendimento Setor de Faturamento
- Superintendência Diretoria de Manutenção e Distribuição Depto de Controle Operacional Setor de Zeladoria
- Superintendência Diretoria Técnica Depto de Engenharia Setor de Cadastro e Diretrizes
- Superintendência Diretoria Técnica Depto de Engenharia Setor de Projeto e Obras
- Superintendência Diretoria de Manutenção e Distribuição Depto de Manutenção de Redes NULL
- Superintendência Diretoria de Manutenção e Distribuição Depto de Manutenção Eletromecânica NULL
- Superintendência Diretoria de Tratamento, Qualidade e Meio Ambiente Depto de Controle de Qualidade NULL
- Superintendência Diretoria de Tratamento, Qualidade e Meio Ambiente Depto de Meio Ambiente NULL
- Superintendência Diretoria de Tratamento, Qualidade e Meio Ambiente Depto de Tratamento de Água NULL
- Superintendência Diretoria de Tratamento, Qualidade e Meio Ambiente Depto de Tratamento de Esgoto NULL
- Superintendência Diretoria Financeira Depto de Planejamento NULL
- Superintendência Diretoria Financeira Setor de Contabilidade e Tesouraria NULL
- Superintendência Diretoria Jurídica Setor Administrativo e Contencioso NULL
- Superintendência Diretoria Jurídica Setor de Dívida Ativa NULL
- Superintendência Diretoria Jurídica Setor de Ouvidoria NULL
- Superintendência Diretoria Técnica Depto de Controle e Redução de Perdas NULL
- Superintendência Diretoria de Comunicação NULL NULL
- Superintendência Diretoria de Controladoria Interna NULL NULL
- Superintendência Diretoria de Resíduos Sólidos NULL NULL
- // define the tree data
- $data = array();
- $data['Brazil']['RS'][10] = 'Lajeado';
- $data['Brazil']['RS'][20] = 'Cruzeiro do Sul';
- $data['Brazil']['RS'][30] = 'Porto Alegre';
- $data['Brazil']['SP'][40] = 'São Paulo';
- $data['Brazil']['SP'][50] = 'Osasco';
- $data['Brazil']['MG'][60] = 'Belo Horizonte';
- $data['Brazil']['MG'][70] = 'Ipatinga';
- */
- $data = array();
- $ncnt=0;
- foreach ($rows1 as $row1)
- {
- $ncnt++;
- if(empty($row1['Supervisao'])) {
- $row1['Supervisao']='Sem Supervisao';
- }
- if(empty($row1['Diretoria'])) {
- $row1['Diretoria']='Sem Diretoria';
- }
- if(empty($row1['Depto'])) {
- $row1['Depto']='Sem Departamento';
- }
- if(empty($row1['Setor'])) {
- $row1['Setor']='Sem Setor';
- }
- $data [$row1['Supervisao']] [$row1['Diretoria']] [$row1['Depto']] [$ncnt]=[$row1['Setor']];
- }
- $data1 = array();
- // define the tree data
- $data1['Brazil']['RS']['1'] = 'Lajeado';
- $data1['Brazil']['RS']['2'] = 'Cruzeiro do Sul';
- $data1['Brazil']['RS']['3'] = 'Porto Alegre';
- $data1['Brazil']['SP']['4'] = 'São Paulo';
- $data1['Brazil']['SP']['5'] = 'Osasco';
- $data1['Brazil']['MG']['6'] = 'Belo Horizonte';
- $data1['Brazil']['MG']['7'] = 'Ipatinga';
- // creates a simple form
- $this->form = new BootstrapFormBuilder('form_test');
- $this->form->setFormTitle('Form');
- // creates the form fields
- $key = new TEntry('key');
- $value = new TEntry('value');
- $this->form->addFields( [new TLabel('Key')], [$key] )->layout = ['col-sm-4','col-sm-8'];
- $this->form->addFields( [new TLabel('Value')], [$value] )->layout = ['col-sm-4','col-sm-8'];
- // scroll around the treeview
- $scroll = new TScroll;
- $scroll->setSize(800, 600);
- $scroll->style = 'margin-right: 5px';
- // creates the treeview
- $treeview = new TTreeView;
- $treeview->setSize(300);
- $treeview->setItemAction(new TAction(array($this, 'onSelect')));
- $treeview->fromArray($data); // fill the treeview
- // $treeview->collapse();
- $scroll->add($treeview);
- // creates the treeview
- $treeview1 = new TTreeView;
- $treeview1->setSize(300);
- $treeview1->setItemAction(new TAction(array($this, 'onSelect')));
- $treeview1->fromArray($data1); // fill the treeview
- // $treeview->collapse();
- $scroll->add($treeview1);
- // pack treeview and form
- $hbox = THBox::pack($scroll, $this->form);
- $hbox->style = 'display:inline-flex';
- $page1->add($hbox);
- ## fields for the page 2 ##
- $html1 = new THtmlRenderer('app/resources/system_welcome_pt.html');
- // replace the main section variables
- $html1->enableSection('main', array());
- $panel1 = new TPanelGroup('Bem-vindo(a)! '.TSession::getValue('username'));
- $panel1->add($html1);
- $page2->add($panel1);
- ## fields for the page 3 ##
- // creates the notebook
- $subnotebook = new TNotebook(250, 160);
- $subnotebook->appendPage('new page1', new TLabel('test1'));
- $subnotebook->appendPage('new page2', new TText('test2'));
- $row = $page3->addRow();
- $row->addCell($subnotebook);
- // wrap the page content using vertical box
- $vbox = new TVBox;
- $vbox->style = 'width: 100%';
- // $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($notebook);
- parent::add($vbox);
- }
- /**
- * Executed when the user clicks at a tree node
- * @param $param URL parameters containing key and value
- */
- public static function onSelect($param)
- {
- $obj = new StdClass;
- $obj->key = $param['key']; // get node key (index)
- $obj->value = $param['value']; // get node value (contend)
- // fill the form with this object attributes
- TForm::sendData('form_test', $obj);
- }
- }
- ?>
Você está atribuindo um array à matriz quando deveria atribuir uma string:
Acho que o anterior não enviou o email...
Boa Tarde, Nataniel,
Valeu pela dica. Falha de iniciante. Muito obrigado!!!