Ext js

Boa tarde pessoal,

Entao estou começando com extjs e to apanhando bastante, tenho lido documentação visto exemplos mas tenho apanhado bastante na parte de layout… no caso por exemplo se eu pego uma grid(com json) e jogo dentro de um viewport, tudo funciona lindo, mas se eu pego a grid e coloco dentro de um panel e o panel dentro de um viewport ai ja começa a dar xabú em tudo.

this.layout.setActiveItem is not a function
[Break on this error] Ext.Container=Ext.extend(Ext.BoxComponent,{autoDestroy:true,defaultType:“panel”,…

essa é a critica, segue o codigo abaixo, se alguem puder me ajudar eu agradeceria MUITOOOOOOOOOOOOOOO tenho uma janela super complexa pra fazer aqui no trabalho e nao consigo sair de um layout…

[code]Ext.onReady(function(){
var ds = new Ext.data.JsonStore({
url : ‘/TesteTagExt/getBooks.do’,
root : ‘first’,
fields : [
‘id’,
‘firstName’,
‘lastName’,
‘coments’
]
});
ds.reload();

	       var xg = Ext.grid;
	       var sm = new xg.CheckboxSelectionModel();
	        var sm2 = new xg.CheckboxSelectionModel();
	    	var grid = new xg.GridPanel({
	        id:'button-grid',
	        store: ds,
	        cm: new xg.ColumnModel([
	            sm,
	                {id:'id',header: "firstName", sortable: true, dataIndex: 'firstName'},
		            {header: "lastName", sortable: true, dataIndex: 'lastName'},
		            {header: "coments", sortable: true, dataIndex: 'coments'},
		            ]),
	        sm: sm2,
	
	        viewConfig: {
	            forceFit:true
	        },
	
	        // inline buttons
	        /*buttons: [{text:'Save'},{text:'Cancel'}],
	        buttonAlign:'center',*/
	
	        // inline toolbars
	        tbar:[{
	            text:'Add Something',
	            tooltip:'Add a new row',
	            iconCls:'add'
	        }, '-', {
	            text:'Options',
	            tooltip:'Blah blah blah blaht',
	            iconCls:'option'
	        },'-',{
	            text:'Remove Something',
	            tooltip:'Remove the selected item',
	            iconCls:'remove'
	        }],
			region:'center',
	        frame:true,
	  			            
	        title:'Support for standard Panel features such as framing, buttons and toolbars',
	        iconCls:'icon-grid',
	    });
	    
	    
		   
	    var nav2 = new Ext.Panel({
            title: 'Navigation',
            region: 'center',
            split: true,
            collapsible: true,
            margins:'1 0 1 1',
            cmargins:'1 1 1 1',
            items: grid
        });       
	    
		var nav = new Ext.Panel({
            title: 'Navigation',
            region: 'west',
            split: true,
            collapsible: false,
            width: 300,
            //height:500,
            margins:'1 0 1 1',
            cmargins:'1 1 1 1',
           // items: grid
        }); 
		
	        new Ext.Viewport({
			    layout: 'border',
			    defaults: {
			        activeItem: 0
			    },
			    items: [nav, nav2]	
			});
	    });[/code]

Bom é difícil dizer assim apenas olhando.
Sendo que o uso dessa biblioteca é bem complexo e depende muito do contexto inteiro da página.

Mas tem alguns ítens ali que parecem estar com problema.
Por exemplo;
Na construção do objeto nav o ultimo ítem está com uma virgula.

cmargins:'1 1 1 1',  

Isso já gera um erro na execução.

No final da construção do ds também.

iconCls:'icon-grid',  

Dá uma olhada nisso e vê o que acontece.

Até.

nbluis vlu a força cara mas nao era isso nao…

Cara, tente setar o layout do painel que contém o grid para “border” e sete a region do GridPanel para “center”.

Galera vlu a força mesmo, mas nao ta rolando… mesma critica… ta sinistro…

Hm, agora vi melhor.

O Panel que contém o GridPanel está com layout “split”. Já tentou adicionar um outro container além do grid para o split funcionar como deveria?

E porque aquele “activeItem: 0” está ali na linha 86?

Já apanhei bastante de layout no Ext, mas ainda não o suficiente. De qualquer forma sempre tente simplificar a tela o máximo possível, testando toda santa alteração para não se pegar em situações como essa.

cara desculpe nao entendi bem a parta do outro container … vc diz ver algum outro panel??? em que o split ta relacionado com isso???

desculpa se a pergunta é idiota é que eu nao conheço mesmo, to fazendo tudo pesquisando pelo google e por deduçao :stuck_out_tongue: