Vraptor com Jquery Grid

Olá estou com algumas dificuldades com o jquerygrid e o vraptor, ele carrega somente o meu primeiro registro, (eu tenho 9 registro na tabela), segue código, acho que alguma coisa que tenho que fazer no meu controller mas não sei qual, segui mais ou menos o que o Cherubini fez nesse post: http://www.guj.com.br/java/212562-vraptor3--flexigrid--json, com o flexigrid…

Há se alguém souber de uma forma melhor de carregar o jqueryGrid eu agradeço…

Controller


@Get
	@Restrito
	@Path("/endereco/buscarEndereco2.json")
	public void buscaJson2() {

		try {			
			List<Endereco> endereco = repository.listCombo("idend");
			
			List<GridRow> rows = new ArrayList<GridRow>();

			List<String> cell = new ArrayList<String>();
			GridRow row = new GridRow();
			for (int i = 0; i < endereco.size(); i++) {

				row.setId(String.valueOf(endereco.get(i).getIdend()));

				cell.add(String.valueOf(endereco.get(i).getIdend()));
				cell.add(endereco.get(i).getEndereco());
				cell.add(endereco.get(i).getBairro());
				cell.add(endereco.get(i).getCep());
				
				row.setCell(cell);			
				
			}
			rows.add(row);
			
			Grid grid = new Grid(1, endereco.size(), rows);

			result.use(json()).withoutRoot().from(grid).recursive().serialize();

		} catch (Exception ex) {
			result.use(json()).from(null).serialize();
		}

	}

Classe Grid

package br.com.coliseu.controller;

import java.util.List;

public class Grid {
	
	public Integer page;  
	public Integer total;  
	public List<GridRow> rows;
	public Grid(int i, int size, List<GridRow> rows2) {
		this.page = i;
		this.total = size;
		this.rows = rows2;
		// TODO Auto-generated constructor stub
	}
	
	
}

Classe GridRow

package br.com.coliseu.controller;

import java.util.List;

public class GridRow {
	
	public String id;
	public List<String> cell;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public List<String> getCell() {
		return cell;
	}
	public void setCell(List<String> cell) {
		this.cell = cell;
	}
}

Jquertgrid

var lastsel;
jQuery("#rowed3").jqGrid({
   	url:'/Coliseu/endereco/buscarEndereco2.json?q=a',
	datatype: "json",
   	colNames:['Inv No','Endereco', 'Cep', 'Bairro'],
   	colModel:[
   		{name:'endereco.idend',index:'idend', width:100},
   		{name:'endereco.endereco',index:'endereco', width:200, editable:true},
   		{name:'endereco.cep',index:'cep', width:150,editable:true},
   		{name:'endereco.bairro',index:'bairro', width:200, align:"right",editable:true}
   				
   	],
   	rowNum:10,
   	rowList:[10,20,30],
   	pager: '#prowed3',
   	sortname: 'idend',
    viewrecords: true,
    sortorder: "desc",
	onSelectRow: function(id){
		if(id && id!==lastsel){
			jQuery('#rowed3').jqGrid('restoreRow',lastsel);
			jQuery('#rowed3').jqGrid('editRow',id,true);
			lastsel=id;
		}
	},
	editurl: "/Coliseu/endereco/adicionaEndereco",
	caption: "Using events example"
});
jQuery("#rowed3").jqGrid('navGrid',"#prowed3",{edit:true,add:true,del:true});

Json que ele tras

{"page": 1,"total": 9,"rows": [{"id": "38","cell": ["4","RUA: BREJINHO","PINHEIRINHO","85.603-400","22","RUA: BEM-TE-VI","PADRE EURICO","85.604-280","26","RUA: CANDÓI","ÁGUA BRANCA","85.601-850","27","RUA: BEM-TE-VI","PADRE EURICO","85.604-280","29","RUA: MATO GROSSO","PRESIDENTE KENNEDY","85.605-280","32","RUA: URUBICI","CENTRO","85.601-260","34","RUA: VITORINO","MARRECAS","85.601-500","36","RUA: ANITA GARIBALDI","CENTRO","85.601-280","38","RUA: ORQUÍDEA","NOSSA SENHORA APARECIDA","85.601-210"]}]}

tenta trocar isso:

List<String> cell = new ArrayList<String>();  
GridRow row = new GridRow();  
for (int i = 0; i < endereco.size(); i++) {  
  
   //....
                  
}  
rows.add(row); 

por isso:

for (int i = 0; i < endereco.size(); i++) {  
   List<String> cell = new ArrayList<String>();  
   GridRow row = new GridRow();  

  
   //....
   rows.add(row);                
}  

Valeu era isso mesmo, Obrigado, só uma pergunta, na sua opinião, é melhor trabalhar com o jquerygrid ou flexgrid?