Grid com botão ativar, inativar e deletar (Business Component)

Exemplo de Business Component 


Grid com botão ativar, inativar e deletar





1º Criamos o nossa base de conhecimento com o nosso projeto
2º Criamos nossa transação com o nome dos atributos:
  • NoticiaId - Numeric(4.0)
  • NoticiaTitulo  - VarChar(200)
  • NoticiaStatus  -  Character(1).
  • NoticiaDate  -  Date

3º Definimos em nossa transação como true em "Business Component".

4º Vamos criar webpanel e arrastamos o grid com os atributos.

5º No webpanel em variáveis vamos criar as seguintes:

  • imgDelete do tipo Image
  • Noticia do tipo noticia
  • StatusNome do tipo Image
6º Ainda no webpanel  em eventos vamos criar o nosso código:
  
Event &StatusNome.Click
      &Noticia.Load(noticiaId)
      If noticiaStatus = "A"
            &Noticia.noticiaStatus = "I"
            /*If Code*/
      Else
            /*Else Code*/
            &Noticia.noticiaStatus = "A"
      Endif
      //&Noticia.Delete()
      &Noticia.save()
      commit     
Endevent
Event &imgDelete.Click
      &Noticia.Load(noticiaId)
      &Noticia.Delete()
      commit     
Endevent
Event grid1.Load
 If noticiaStatus = "A"
            &StatusNome.FromImage('http://localhost/FuncionandoAtivoInativoRubyEnvironment/ex/on.png')
      Else
            &StatusNome.FromImage('http://localhost/FuncionandoAtivoInativoRubyEnvironment/ex/off.png')
      Endif
&imgDelete.FromImage('http://localhost/FuncionandoAtivoInativoRubyEnvironment/ex/delete.png')
Endevent

Dica: para que funcione o botão tem que estar presente no grid o id e o status mesmo que oculto da tela como mostra a imagem abaixo.



Resultado final


Não postei as imagens dos botões delete e ativo e inativo, pois acredito que cada um queira customizar ao seu gosto.

Até a próxima com a saga Genexus.




 

Comentários