Pessoal, estou precisando de ajuda com GridTag do Struts2Query.
Alguém que já tenha usado e puder me ajudar.
Não estou conseguindo mostrar um ArrayList usando o GridTag.
Abraços
Pessoal, estou precisando de ajuda com GridTag do Struts2Query.
Alguém que já tenha usado e puder me ajudar.
Não estou conseguindo mostrar um ArrayList usando o GridTag.
Abraços
da uma olhada! http://www.guj.com.br/posts/list/216176.java#1102743
tb existe um showcase do grid! pode ajuda-los!
Eu utilizo e é muito bom, mão na roda mesmo!
Vinicius,
eu to usando o showcase sabe.
Mas o que não to conseguindo é colocar um arraylist no grid.
Sabe se posso usar um arraylist ou tem que ser alguma outra collection?
E como posso fazer para que as gridcollumns estejam associadas as propriedades
do objeto que esta no arraylist.
Abraço
no exemplo do showcase (abaixo) o retorno da action tem que ser do tipo json (exemplo https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin). Não é nada complicado é so informar o tipo na própria tag de retorno.
<s:url id="remoteurl" action="jsontable"/>
<sj:grid
id="gridtable"
caption="Customer Examples"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="gridModel"
rowList="10,15,20"
rowNum="15"
rownumbers="true"
>
<sj:gridColumn name="id" index="id" title="ID" formatter="integer" sortable="false"/>
<sj:gridColumn name="name" index="name" title="Name" sortable="true"/>
<sj:gridColumn name="country" index="country" title="Country" sortable="false"/>
<sj:gridColumn name="city" index="city" title="City" sortable="false"/>
<sj:gridColumn name="creditLimit" index="creditLimit" title="Credit Limit" formatter="currency" sortable="false"/>
</sj:grid>
Cara,
to tentando usar esse exemplo saca e no GridModel eu coloco o nome do meu
objeto arraylist.
e nas colunas coloco as propriedades do objeto empresa que quero mostrar.
Mas não mostra dá até um erro no pager que não mostra a quantidade de páginas
se ajudar eu posso postar o código do meu action
public String execute()
{
empresas = new ArrayList<EmpresaDAO>();
records = 100; //isso é só um teste
EmpresaDAO e = new EmpresaDAO();
e.setIdEmpresa(new Long(1));
e.setNomeFantasia("n");
e.setCidade("c");
e.setEstado("e");
empresas.add(e);
System.out.println(empresas.size());
total =(int) Math.ceil((double)records / (double)rows);// determina o número de páginas
System.out.println("total = " + total + " linhas = " + rows + " records = " + records);
return "sucesso";
}
e tem os gets e sets dos objetos
e código da minha página jsp
<s:url id="remoteurl" action="listaEmpresas"/>
<sjg:grid
id="gridtable"
caption="Empresas"
dataType="json"
href="%{remoteurl}"
pager="true"
name="empresas"
gridModel="empresas"
rowList="10,15,20"
rowNum="10"
rownumbers="true"
viewrecords="true"
page="1"
>
<sjg:gridColumn name="idEmpresa" index="idEmpresa" title="ID" />
<sjg:gridColumn name="nomeFantasia" index="nomeFantasia" title="nomeFantasia" />
<sjg:gridColumn name="cidade" index="cidade" title="cidade" />
<sjg:gridColumn name="estado" index="estado" title="estado" />
</sjg:grid></td>
Se puder me mostrar o que tá de errado agradeço muito
qual é o erro? mostra a exception!
A classe EmpresaDAO tem algum atributo que é uma outra classe?
Quando retorna um json ele vai retornar tudo que a classe tem e provável esta ai o erro. Faça um VO apenas com os dados necessários e teste ai!
Não dá exceção nenhuma sabe.
simplesmente não carrega os dados do arrayList.
todos os atributos são String ou Long.
eu tentei colocar um arraylist de String e mesmo assim não funcionou.
e como eu associo a coluna ao atributo?
Abraço
chama a action que o grid esta chamando e posta o resultado dela!
Pessoal,
Resolvi o meu problema.
Ao invés de usar a minha classe DAO eu criei uma outra classe
só para preencher a lista.
E funcionou.