Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Exibir coluna associada Boa tarde amigos. Sou novo no desenvolvimento com o Adianti. Fiz um model de contas a pagar com associação com tipo de conta e quando trago em tela no list ou no form ele não traz o campo descrição da conta quando for edição ou apresentação no grid do list. Gostaria que se possível ter algum exemplo sobre o apresentação automática destes dados. Obrigado Anderson...
AG
Exibir coluna associada  
Fechado
Boa tarde amigos.

Sou novo no desenvolvimento com o Adianti. Fiz um model de contas a pagar com associação com tipo de conta e quando trago em tela no list ou no form ele não traz o campo descrição da conta quando for edição ou apresentação no grid do list.

Gostaria que se possível ter algum exemplo sobre o apresentação automática destes dados.

Obrigado

Anderson

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


CS

Mesmo problema aqui....
AC

Olá Anderson,

Também estou iniciando mas acho que sei o que pode ser... Tenta criar no model do conta a pagar uma function get_descricao_tipo_conta(). Nela tu estancia um objeto a partir do id/código desse "tipo de conta" que está relacionado a "conta a pagar". Daí tu retorna a descrição desse tipo de conta.
CS

O detalhe é estou gerando com o Studio Pro.
CS

Então, galera. Sem chances ainda.
Tenho uma tabela series:
- id_ser
- Descricao_ser

Tabela Turmas:
-id_turma
- descricao_tur
- idserie_tur

Classe GerTurmas.class.php: -> gero esta classe com uma associação com Series pelo Studio Pro.

  1. <?php
  2.  public function set_ger_series(GerSeries $object)
  3.     {
  4.         $this->ger_series $object;
  5.         $this->ger_series_id_ser $object->id;
  6.     }
  7. ?>


  1. <?php
  2.  public function get_ger_series()
  3.     {
  4.         // loads the associated object
  5.         if (empty($this->ger_series))
  6.             $this->ger_series = new GerSeries($this->ger_series_id_ser);
  7.     
  8.         // returns the associated object
  9.         return $this->ger_series;
  10.     }
  11. ?>


Classe GerTurmasList.class.php

  1. <?php
  2. // creates the datagrid columns
  3.         $column_check = new TDataGridColumn('check''''center');
  4.         $column_id_tur = new TDataGridColumn('id_tur''Código''center');
  5.         $column_ano_tur = new TDataGridColumn('ano_tur''Ano''center');
  6.         $column_descricao_tur = new TDataGridColumn('descricao_tur''Turma''left');
  7.         $column_idserie_tur = new TDataGridColumn('ger_series->descricao_ser''Série''center');
  8. ?>


Tudo isso é gerado pelo Studio Pro. Só que o campo retorna em branco na grid. Será por causa do padrão da chave estrangeira (idserie_tur)?


[]´s

Stclara.
IF

Olá Carlos. Tenta assim:

  1. <?php
  2.  public function set_ger_series(GerSeries $object)
  3.     {
  4.         $this->ger_series $object;
  5.         $this->id_ser $object->id;
  6.     }
  7. ?>


  1. <?php
  2.  public function get_ger_series()
  3.     {
  4.         // loads the associated object
  5.         if (empty($this->ger_series))
  6.             $this->ger_series = new GerSeries($this->id_ser);
  7.     
  8.         // returns the associated object
  9.         return $this->ger_series;
  10.     }
  11. ?>





CS

Nada, ainda retornando em branco.....
IF

Passa pro meu email os models e o código pra eu dar uma olhada nas tabelas: ivanrfer@gmail.com
CS

Bem pessoal, com a ajuda do Ivan Fernandes, problema resolvido:

Tenho uma tabela series:
- id_ser
- Descricao_ser

Tabela Turmas:
-id_tur
- descricao_tur
- idserie_tur

Relacionamento no model GerTurmas.class.php (o Ger na frente e uma maneira de identificar os grupos ger = gerencial):
  1. <?php
  2.  public function set_ger_series(GerSeries $object)
  3.     {
  4.         $this->ger_series $object;
  5.         $this->idserie_turma $object->id_tur;            // idserie_turma -> chave estrangeira // id_tur -> chave primaria
  6.     }
  7. ?>


  1. <?php
  2.  public function get_ger_series()
  3.     {
  4.         // loads the associated object
  5.         if (empty($this->ger_series))
  6.             $this->ger_series = new GerSeries($this->idserie_tur);   //  idserie_tur -> chave estrangeira
  7.     
  8.         // returns the associated object
  9.         return $this->ger_series;
  10.     }
  11. ?>


Aí na tabela, por exemplo só coloco:
  1. <?php
  2.    $column_idserie_tur = new TDataGridColumn('ger_series->descricao_ser''Série''left');
  3. ?>


Valeu Ivan Fernandes.


[]´s

Stclara.
AG

Obrigado Ivan.
LA

Obrigado Ivan, Carlos.
Mas e na ordenação da coluna Série, como fica?
Aquela opção para o usuario pressionar no titulo da coluna e ordenar ASC ou DESC.

  1. <?php
  2. $order_serie = new TAction(array($this'onReload'));
  3. $order_serie->setParameter('order''descricao_ser');   //??
  4. $column_serie->setAction($order_serie);
  5. ?>

IF

Luis Alberto, veja nesse link do Tutor para tirar a sua dúvida, ele usa o mesmo esquema de associação para City e ordena a coluna normalmente.

www.adianti.com.br/framework_files/tutor/index.php?class=CustomerDat