Contador no IReport

17 respostas
V

Boa Tarde Galeraa!!!

Seguinte, estou com um problema aqui.
Preciso fazer um contador para contar quantos registros foram exibidos e exibi-lo no final.

Consegui exibir a variável no final do relatório, mas não consegui ainda contar os registros. A variável fica sempre 0.

Alguem da uma mão aíííí!!!

Valeuuu

17 Respostas

D

Ola
Pelo jeito que voce falou, e so colcar uma variavel no metodo que gera o relatorio, entao toda vez que alguem fizer o acesso ao relatorio, essa variavel vai ser incrementada…
entendeu?

D

[color=green]Olá.

O que você precisa fazer é criar uma variável que incremente de 1 em 1 a cada registro:

Primeiramente crie a variável em: Visualizar > Variáveis do Relatório

Tipo de Classe da Variável: java.math.BigDecimal

Tipo de Cálculo: Soma

Variável de Expressão: $V{nomeSuaVariavel}.add(new BigDecimal(1))

Valor Inicial da Expressão: new BigDecimal(0)

Coloca este campo na banda Detail, visível ou não, e pronto.

Espero que isso possa te ajudar.
Até.[/color]

V

OK Galera!!!

Consegui resolver aqui.
Usei a dica do Adriano, excelente dica!!!

E valeu tambem deluxe, mas o que eu queria era contar quantos registros foi gerado no relatorio, e nao quantas vezes o relatorio foi gerado!!!
Mas muito obrigado pelas dicas!!!

Valeuuu!!!

F

Olá galera,

eu preciso de algo parecido. Só que eu tenho um ArrayList com objetos e quero um contador que vá do zero até o size() do meu list.

C

Boa tarde,

precisava de algo parecido com o último post, isto é, de repetir a impressão de um report N vezes com a mesma informação, isto é, imprimir 1 de N, 2 de N, ? N de N etiquetas com os mesmos dados.

Alguém sabe como posso fazê-lo no ireport?

Obrigada

F

Cristina,

poderia ser um pouco mais clara? Você esta passando os itens (coleção) pelo java ou esta buscando por uma query do banco?

C

Bom dia,

estou a ir buscar numa query os valores…

Obrigada

F

Você pode retornar o contador dos registros junto com a query do banco (count). Uma que é o total dos registros e para cada linha você retorna o index da linha, assim não precisa usar variaveis do jasper. Se tiver dúvidas segue um exemplo (no Oracle) abaixo:

SELECT
a.firstName,
a.lastName,
ROW_NUMBER() AS NUM_LINHAS,
COUNT(*) AS TOTAL_LINHAS
FROM
people a

C

OBRIGADA… :slight_smile:

Vou tentar fazer isso…

L

Oi pessoal, estava tentando fazer o contador q o Drico disse, consegui até um ponto. Criei o contador mas eu escrevi uma condiçaõ na banda para só imprimir os dados caso certa condição for verdadeira.
Acontece que existem condições falsas e os itens são impressos pulando os números.
ex:
1
3
7
que no caso deveria ser
1
2
3
Não consegui colocar essa condição no campo “variável de expressão”, pois dá erro de expressão.

Alguém tem uma idéia?

Obrigado!

M

Então sua condição não deve ser na banda…
e sim uma condição de incremento no seu contador…

L

Fala Marco, é isso mesmo q eu estou tentando fazer, uma condição de incremento no contador mas dá erro de expressão.

if($F{compFamiliarBean}.getPessoaBean().getProcuradorBean().getNomePessoa()!=null) $V{contador}.add(new java.math.BigDecimal(1))

mas dá erro.

illegal start of expression
value = (java.lang.Object)(if(((br.gov.sp.cdhu.coml.webservice.bean.generated.CompFamiliarBean)field_compFamiliarBean.getValue()).getPessoaBean().getProcuradorBean().getNomePessoa()!=null)((java.math.BigDecimal)variable_contador.getValue()).add(new java.math.BigDecimal(1)));/$JR_EXPR_ID=8$/
^
C:\SDPE\CDHU\Comercializacao\Construcao\Fontes\COML_RELATORIO_CLIENT\procuracoesDemonstrativoValoresSubMod1_1252947723923_820974.java:160: ‘;’ expected

Coloquei o “;” e deu o mesmo erro

M

cara… não é assim…

vai la nas propriedades de sua variavel…

coloque new Integer(0) como valor inicial
e no campo Váriavel de Expressão vc coloca sua condição de incremento

Ex:
$F{relacao} == “Pai” ? 1 : 0

Nesse caso… em todos os registro percorridos… caso tiver relacao pai, vai incrementar 1, se não 0

L

Chapow velho! Consegui !!

M

opa demoro!

W

Olá eu estou com um problema justamente no contator, meu problema é o seguinte:

Estou usando Javabean, meu relatorio esta dividido em grupos, onde cada grupo traz uma lista de nomes de pessoas relacionadas com o tipo do grupo.

Eu preciso de uma variavel que conte o numero de vezes que cada nome apareceu no grupo.

Eu ja ordenei o grupo e ja consigo trazer o total de cada grupo, mas não o valor individual de cada nome.
Ex.:

Grupo A:
Maria 5
João 3
Pedro 2
Total 10

Ja tentei usar o Report_count,o Column_Count, o contador do Grupo e nada deu certo. O exemplo daqui tambem não deu muito certo, so traz o total do grupo.

L

Olá pessoal …

tenho um consulta que esta agrupada por tipos de usuarios de um site, professor, alunos, tutores e etc.

Estou precisando fazer uma variavel contadora de linhas que zere a cada tipo de usuario e

consegui um variavel que conta mais naum consegui zerala a cada tipo de usuario

preciso saber quantos professores depois quanto alunos e por ai vai…

Gostaria de saber se podem me ajudar??

ATT. Obrigado

Criado 9 de julho de 2008
Ultima resposta 14 de nov. de 2009
Respostas 17
Participantes 9