Alterar valor da linha do datagrid Como faço para alterar o conteúdo de uma linha no datagrid ao carregar os itens? Ex. uma coluna STATUS com valores 0 ou 1, mudaria para INATIVO ou ATIVO, ou uma imagem na coluna do datagrid....
FV
Alterar valor da linha do datagrid  
Fechado
Como faço para alterar o conteúdo de uma linha no datagrid ao carregar os itens?
Ex. uma coluna STATUS com valores 0 ou 1, mudaria para INATIVO ou ATIVO, ou uma imagem na coluna do datagrid.

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


PD

Oi Fagner,

Adicionamos objetos em uma datagrid por meio do método TDataGrid::addItem(). Mas antes disso, criamos as coluna da datagrid. Basicamente o framework exibe em cada coluna, algum atributo do objeto:
 
  1. <?php
  2. $name = new TDataGridColumn('name', 'name', 'left', 250);
  3. ?>


Nesse momento, podemos criar uma coluna virtual, que não existe na prática. Imaginando que o objeto "cliente" tenha um atributo chamado "sexo", que é {M,F}, e desejamos exibir {Masculino,Feminino}. Nesse caso, podemos criar uma coluna chamada "nome_sexo". Mas claro que essa coluna viria vazia, por que o objeto não tem esse atributo.

 
  1. <?php
  2. $name = new TDataGridColumn('nome_sexo', 'Sexo', 'left', 250);
  3. ?>


O próximo passo é alterara classe Active Record (cliente, nesse caso), e adicionarmos um método get_nome_sexo(). Sempre que tentarmos acessar o atributo ->nome_sexo, como no caso da coluna da datagrid, então esse método é executado, retornando a descrição...:

 
  1. <?php
  2. class Cliente extends TRecord
  3. {
  4. const TABLENAME = 'cliente';
  5. const PRIMARYKEY= 'id';
  6. const IDPOLICY = 'max'; // {max, serial}
  7. public function get_nome_sexo()
  8. {
  9. $nomes = array('M'=>'Masculino', 'F'=>'Feminino');
  10. return $nomes[$this->sexo];
  11. }
  12. }
  13. ?>


No livro (www.adianti.com.br/bkframe) essas cosias são explicadas com mais detalhes. Não deixe de adquirir o seu ;-)

um abraço,
Pablo