Grid com Checkbox no Ext JS

Resolvi escrever está dica de como inserir um Checkbox em um Grid,
após passar algumas horas apanhando.

O caminho para obter o resultado esperado foi pesquisar, risos e
bastante. Brincadeira crie os métodos abaixo

function formatImagem(value, cell, rec, rowIndex, colIndex, ds) {
   return ['<img ', 'class="checkbox" ', 'src="./images/',
               value? 'checked.gif' : 'unchecked.gif', '"/>'].join("");
};

function formatBoolean(value, cell, rec, rowIndex, colIndex, ds) {
	  if(value == true)
		  return '<input type="checkbox" name="' + 1 + '" checked disabled/>';
	  else
		  return '<input type="checkbox" name="' + 1 + '" disabled/>';

};

Para a criação de uma Grid utilizei a classe Ext.grid.ColumnModel
do Ext JS, você pode encontrar mais detalhes sobre o assunto aqui.

var cm = new Ext.grid.ColumnModel([
   { header : 'Nome' , dataIndex : 'Nome', sortable : true} ,
   { header : 'Cargo' , dataIndex : 'Cargo', sortable : true } ,
   { header : 'Status' , dataIndex : 'Status 1' , renderer: formatBoolean } ,
   { header : 'Status' , dataIndex : 'Status 2' , renderer: formatImagem }
]);

O que faz a mágica e o atributo chamado renderer que renderiza
um HTML dentro do Grid com isto é possível inserir uma imagem
ou o tão esperado Checkbox.

Mas para futuras pesquisas pretendo descobrir como utilizar o
atributo editor que insere o Checkbox dentro do Grid como um
componente onde poderia facilitar bastante o seu uso.

Visualize o resultado deste tutorial:

Tela utilizando Grid com Checkbox

Tela utilizando Grid com Checkbox

Mas este será um próximo estudo que terei que fazer, por hora
ficaremos por aqui.

Espero que essa dica possa ser útil, pra alguém e se alguém quiser
completar, seria bem legal.

Uma resposta para “Grid com Checkbox no Ext JS”

  1. With This Diet I Shed Thirty Póunds in Thirty Days Disse:

    Hi, cool post. I have been pondering this topic,so thanks for writing. I’ll probably be subscribing to your site. Keep up the good work

Deixe uma resposta