Introdução
Que o EXT fornece excelentes componente isso já está provado, infelizmente algumas coisas não são muito fáceis de descobrir, neste texto pretendo mostrar os códigos de como adicionar e remover elementos de um combobox em tempo de execução, ou seja, com o usuário utilizando a aplicação.
Criando o Combo
var store_combo_serv_cod = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'suaurl',
method: 'POST'
}),
autoLoad : false,
reader: new Ext.data.JsonReader({
root: 'data',
id: 'k',
totalProperty : 'total'
},objeto_recordo_combo
}); var combo_serv_cod = new Ext.form.ComboBox({
typeAhead: true,
triggerAction: 'all',
transform:'serv_cod',
forceSelection: true,
width : 500,
minListWidth : 500,
blankText : 'Nenhum Registro',
editable : true,
mode : 'remote'
,displayField:'v'
,valueField: 'k'
,store : store_combo_serv_co
});combo_serv_cod.on('click',function(){
store_combo_serv_cod.load()
});
O código acima cria um combo com os dados que vem do servidor no formato de um vetor json.
Remover o Elemento Selecionado
combo_serv_cod.store.remove(combo_serv_cod.store.getAt(combo_serv_cod.selectedIndex));
Adicionar um Novo Registro
var v = new Array(); v.k = id; v.v = nome; var novo = new objeto_recordo_combo(v) store_combo_serv_cod.add(novo);
Cria um novo registro do mesmo tipo usado no store do combo e adiciona o novo registro
Dica
Se quiser usar aquela idéia do suggest do google nos combobox do EXT siga esse tutorial:
http://extjs.com/forum/showthread.php?t=15159&highlight=combobox+autocomplete
Referência
http://extjs.com/forum/showthread.php?t=6297&highlight=remove+combobox
http://extjs.com/forum/showthread.php?t=8806&highlight=array+record







