Pessoas Bom dia estou com seguinte erro no uso do vraptor com JQGrid, as linhas e afins da tabela aparacem porem nao aparece os dados segue codigos!
Controller
@Public
@Get @Path("/usuarios/usuario.json")
public void loadGrid(Integer page,Integer rows, String sidx, String sord){
@SuppressWarnings("unchecked")
Collection<Usuario> users = dao.fetchGrid(sidx, sord);
JQgrid<Usuario> JQgrid = new JQgrid<Usuario>();
JQgrid.setPage(page);
JQgrid.setRecords(users.size());
JQgrid.setTotal((int)Math.ceil((double)users.size() / (double)rows));
JQgrid.setRows(users);
result.use(Results.json()).withoutRoot().from(JQgrid).include("rows").serialize();
}
Classe JQGrid
public class JQgrid<T> {
private int page;
private int total;
private int records;
private Collection<T> rows;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getRecords() {
return records;
}
public void setRecords(int records) {
this.records = records;
}
public Collection<T> getRows() {
return rows;
}
public void setRows(Collection<T> rows) {
this.rows = rows;
}
}
DAO
public Collection fetchGrid(String sidx, String sord){
//set order
Order order;
if(sord.equals("asc")){
order = Order.asc(sidx);
}else{
order = Order.desc(sidx);
}
return session.createCriteria(Usuario.class).addOrder(order).list();
}
View
<div id="conteudo">
<table id="tbl-usuario"></table>
<div id="pg-usuario"></div>
</div>
<script type="text/javascript">
/** <c:url value="/usuarios/usuario.json"/> */
$(function(){
$("#tbl-usuario").jqGrid({
url : '<c:url value="/usuarios/usuario.json"/>',
editurl:'<c:url value="/usuarios/update"/>',
datatype : "json",
autowidth: false,
colNames : [ 'Código', 'Nome', 'E-mail', 'Usuario', 'Password' ],
colModel : [
{name:'id',index:'id', width:55, sorttype:"int", align:"center"},
{name:'usuario.nome',index:'usuario.nome', width: 200, editable: true},
{name:'usuario.email',index:'usuario.email', width: 200, align:"center", editable: true},
{name:'usuario.usuario',index:'usuario.usuario', width: 300, editable: true},
{name:'usuario.password',index:'usuario.password', width: 300, editable: true}
],
rowNum : 10,
pager : '#pg-usuario',
height : 220,
viewrecords : true,
sortname: 'nome',
sortorder : "desc",
caption : "Lista de Usuários",
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
cell: "",
id: "0"
}
});
$("#tbl-usuario").jqGrid('navGrid','#pg-usuario',{edit:true,add:true,del:true,search:true});
});
</script>
Retorno JSON
{"page": 1,"total": 1,"records": 2,"rows": [{"id": 2,"nome": "Teste","email": "teste@teste.com.br","usuario": "teste","password": "ba0663cea63e467e74a0bb8947c3feef"},{"id": 1,"nome": "Fabio Pratta","email": "meumeail@mail.com.br","usuario": "meusuario","password": "meupassword"}]}