Lançado Adianti Framework 7.6!
Clique aqui para saber mais
busca dados TDataGridColumn Estou com dificuldade no item abaixo: // creates the datagrid columns $column_id = new TDataGridColumn('id', 'Id', 'left', 10); $column_id_pais = new TDataGridColumn('id_pais', 'Pais', 'left', 10); $column_nome_pais = new TDataGridColumn('SisPais->nome', 'Nome Pais', 'left' , 100 ); $column_uf = new TDataGridColumn('uf', 'UF', 'lef...
MC
busca dados TDataGridColumn  
Estou com dificuldade no item abaixo:

// creates the datagrid columns
$column_id = new TDataGridColumn('id', 'Id', 'left', 10);
$column_id_pais = new TDataGridColumn('id_pais', 'Pais', 'left', 10);

$column_nome_pais = new TDataGridColumn('SisPais->nome', 'Nome Pais', 'left' , 100 );

$column_uf = new TDataGridColumn('uf', 'UF', 'left' , 20);
$column_nome = new TDataGridColumn('nome', 'Estado', 'left', 100);
$column_ativo = new TDataGridColumn('ativo', 'Ativo', 'left', 10 );


// add the columns to the DataGrid
$this->datagrid->addColumn($column_id);
$this->datagrid->addColumn($column_id_pais);
$this->datagrid->addColumn($column_nome_pais);
$this->datagrid->addColumn($column_uf);
$this->datagrid->addColumn($column_nome);
$this->datagrid->addColumn($column_ativo);


Retorna o seguinte erro: Tentativa de acesso à uma propriedade não existente (SisPais->nome)

como devo proceder para buscar o nome do Pais para o Grid de cadastro de estados ???


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


NR

Você precisa criar a associação com SisPais no seu model, da mesma forma que a função get_category do exemplo abaixo:
adianti.com.br/framework_files/tutor/index.php?class=AssociationView
MC

Nataniel boa tarde, obrigado pelo retorno....

Fiz a seguinte alteração no model SisPais....

public function get_sis_pais()
{
// loads the associated object
if (empty($this->sis_pais))
$this->sis_pais = new SisPais($this->sis_pais_id);

// returns the associated object
return $this->sis_pais;
}

no form fiz assim:

$column_nome_pais = new TDataGridColumn('SisPais->nome)', 'Nome Pais', 'left' , 100 );

Porem ainda apresenta o seguinte erro: Tentativa de acesso à uma propriedade não existente (SisPais->nome)

vc pode me ajudar ???
NR

Marcelo, a associação deve ser criada no outro modelo, responsável por preencher a datagrid. Supondo que seja cidade:
  1. <?php
  2. //model Cidade
  3. function get_sis_pais()
  4. {
  5.      // loads the associated object 
  6.      if (empty($this->sis_pais)) 
  7.          $this->sis_pais = new SisPais($this->id_pais); // nome da coluna com a referência do pais(id_pais é o que está na coluna da grid, por isso a usei)
  8.     // returns the associated object 
  9.     return $this->sis_pais
  10. }
  11. // na listagem o nome do atributo antes do '->' deve corresponder ao nome da funcao no model sem o get_, "sis_pais" no nosso exemplo
  12. $column_nome_pais = new TDataGridColumn('sis_pais->nome)''Nome Pais''left' 100 ); 
  13. ?>
MC

Nataniel, boa noite

Obrigado pelo retorno e pelo apoio....

Deu certo......iupi....hehehehe

Abraços