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
Deixe um comentário