Conheça as melhorias da versão 8.0, 8.1, 8.2!
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 Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework 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. // returns the associated object
  8. return $this->ger_series;
  9. }
  10. ?>


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. // returns the associated object
  8. return $this->ger_series;
  9. }
  10. ?>





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. // returns the associated object
  8. return $this->ger_series;
  9. }
  10. ?>


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