1º Sobre o DISTINCT eu só copiei e coloquei o que vc postou antes, mas o que vc menciona sobre ele é correto.
2º O Evento do Chekbox é check mesmo;
3º Sobre colocar o evento no seu Botão o que eu indico é o seguinte. Vc pode colocar no handler do seu botão para que qdo clicado ele verifique quais checkboxs foram marcados dái vc pega e envia isso como parametro para o seu Server.
Exemplo:
Código:
handler: function(){
// Array que irá armazenar os Names dos Checkbos.
var marcados=[];
// Verificando todos dos Items do Form que são do Xtype checkbox.
seuForm.items.find(function( item ){
// Verificando o Xtype do Item
if(item.xtype == 'checkbox'){
// Se o item estiver marcado ele entra no IF.
if(item.getValue()){
marcados.push(item.name);
}
} // Fim do IF do Xtype
})
}
No caso acima ele cria um Array com os names dos Checkbox daí é só vc enviar para o seu Serve e tratar quais SELECTs ele tem que fazer.// Array que irá armazenar os Names dos Checkbos.
var marcados=[];
// Verificando todos dos Items do Form que são do Xtype checkbox.
seuForm.items.find(function( item ){
// Verificando o Xtype do Item
if(item.xtype == 'checkbox'){
// Se o item estiver marcado ele entra no IF.
if(item.getValue()){
marcados.push(item.name);
}
} // Fim do IF do Xtype
})
}





Basicamente tu visita todos os componentes e transporta os atalhos deles para a propriedade keys do componente pai mais alto na hierarquia. Eu só faria disso um Plugin, porque o código tá meio fora do padrão Ext que constumamos ver. Mas para quem está começando, está muito bom!