NM
De fieldlist1 popular fieldlist2
Hola, bom dia
Tenho uma classe de cadastro onde tenho um TFiledList1 (Serviços) e TFiledList2 (Produtos), no fieldlist1 tenho uma acão de selecionar um serviço, no memento que seleciono o serviço tenho que popular o fieldlist2 com os produtos desse serviço selecionado.
Que comando uso para adicionar uma nova linha na fieldlist2 .
Tenho uma classe de cadastro onde tenho um TFiledList1 (Serviços) e TFiledList2 (Produtos), no fieldlist1 tenho uma acão de selecionar um serviço, no memento que seleciono o serviço tenho que popular o fieldlist2 com os produtos desse serviço selecionado.
- <?php
- public static function selecionaServico( $param )
- {
- $input_id = $param['_field_id'];
- $servico_id = $param['_field_value'];
- $input_pieces = explode('_', $input_id);
- $unique_id = end($input_pieces);
- try
- {
- TTransaction::open( self::$db );
- $vlr_servico = FuncoesExtra::PegaDadosColuna('select s_valor from servicos where s_id = ' . $servico_id, 's_valor', 'N');
- $response = new stdClass;
- $response->{'list_as_valor_'.$unique_id} = number_format($vlr_servico, 2, ',', '.');
- TForm::sendData('form_Atendimentos', $response);
- // Carregar lista de produtos deste servico
- $dados = ServicosProdutos::where('sp_id1', '=', $servico_id)->load();
- foreach ( $dados as $item )
- {
- $detail = new stdClass;
- $detail->list_ap_qtde = $item->sp_qtde;
- $detail->list_ap_valor = $item->sp_custo;
- ???????????????;
- }
- TForm::sendData('form_Atendimentos', $detail);
- TTransaction::close();
- self::calculaValores( $param );
- }
- catch (Exception $e)
- {
- TTransaction::rollback();
- }
- }
- ?>
Que comando uso para adicionar uma nova linha na fieldlist2 .
Pode usar a função TForm::sendData. Veja o exemplo dos botões "Fill" e "Clear/Fill" do link abaixo:
https://adianti.com.br/framework_files/tutor/index.php?class=FormFieldListEventsView
Hola Nataniel
Obrigado por responder, talvez não tenha explica bem, tenho uma tabela de SERVICOS e outra tabela filho de SERVICOS_PRODUTOS, tenho um FORM de atendimentos onde vai dados como data, etc... e dois fieldlist um para os serviços prestados e outro fieldlist para os produtos de cada serviço, quando o usuario selecionar um serviço no fieldlist1 o sistema tem que trazer para o fieldlist2 os produtos desse serviço minha duvida e qual comando para usar para ir abrindo linhas novas no fieldlist2.
No onEdit tenho assim:
Só que na ação do ( $as_cd_servico->setChangeAction( new TAction(array($this, 'selecionaServico')) ); )
chamo a "selecionaServico" que tem que ser STATIC dentro dessa função não posso usar o $this ai minha pergunta como ao selecionar o serviço abrir linhas no fieldlist2 com os dados dos produtos.
Um abraço
Hola
Perdão Nataniel depois que fui ver a parte dos botões no exemplo que você me mandou, acertei o codigo conforme os exemplos e mesmo assim não adicionava as linhas na fieldlist ai fui comparar os codigos para ver o que tinha de diferente e notei que no meu não tinha essa linha:
Foi adicionar essa linha e tudo funcionou, muito obrigado.
Um abraço.